<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>쩡쩡이의 일상</title>
    <link>https://paatata.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 9 Sep 2026 17:30:17 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>오모짱_</managingEditor>
    <image>
      <title>쩡쩡이의 일상</title>
      <url>https://tistory1.daumcdn.net/tistory/5058300/attach/c79916cbe48c4490bbb72c35a21a23fc</url>
      <link>https://paatata.tistory.com</link>
    </image>
    <item>
      <title>히사시부리 교토</title>
      <link>https://paatata.tistory.com/155</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8BgKz/btsOW5R5m5t/fKORTGn1gMqkEsAHrMrUP0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8BgKz/btsOW5R5m5t/fKORTGn1gMqkEsAHrMrUP0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8BgKz/btsOW5R5m5t/fKORTGn1gMqkEsAHrMrUP0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8BgKz%2FbtsOW5R5m5t%2FfKORTGn1gMqkEsAHrMrUP0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d33uaZ/btsOWEmUvyN/qdQwrfPJDCNQKeskDvQfBK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d33uaZ/btsOWEmUvyN/qdQwrfPJDCNQKeskDvQfBK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d33uaZ/btsOWEmUvyN/qdQwrfPJDCNQKeskDvQfBK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd33uaZ%2FbtsOWEmUvyN%2FqdQwrfPJDCNQKeskDvQfBK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;여름 일본은 지옥인거 알지만 매번 여름 여행중&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #333333;&quot;&gt;예전만큼 더위 안타서 나름 괜찮^^&lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4030&quot; data-origin-height=&quot;3022&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mol5x/btsOV7bRbyZ/vRlHdaUUm0H5JEUXghICuK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mol5x/btsOV7bRbyZ/vRlHdaUUm0H5JEUXghICuK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mol5x/btsOV7bRbyZ/vRlHdaUUm0H5JEUXghICuK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmol5x%2FbtsOV7bRbyZ%2FvRlHdaUUm0H5JEUXghICuK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;260&quot; data-origin-width=&quot;4030&quot; data-origin-height=&quot;3022&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;친절한 보리차(?) 슴슴하니 맛있당&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;동생 픽 = 생콜라 : 한국 들여와주라&lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KhTqb/btsOW8nMI81/xyXmoOe6XKACGJQPmWXaN1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KhTqb/btsOW8nMI81/xyXmoOe6XKACGJQPmWXaN1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KhTqb/btsOW8nMI81/xyXmoOe6XKACGJQPmWXaN1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKhTqb%2FbtsOW8nMI81%2FxyXmoOe6XKACGJQPmWXaN1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6xwUm/btsOWiqy4Qk/InkiY0KM3K5Rtq0l51NL00/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6xwUm/btsOWiqy4Qk/InkiY0KM3K5Rtq0l51NL00/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6xwUm/btsOWiqy4Qk/InkiY0KM3K5Rtq0l51NL00/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6xwUm%2FbtsOWiqy4Qk%2FInkiY0KM3K5Rtq0l51NL00%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;냅다 키티부터 입양 때려주기&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #333333;&quot;&gt;포차코에서 키티로 갈아타는 중인데&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #333333;&quot;&gt;너무 유행이라 좀. . ^^&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;산리오샵에서 중국인이 키링 털어가는거 봄 ㄷ ㄷ&lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5aOK0/btsOXHwsu7Q/dKTcTGHl57FHdkVKVdDq4K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5aOK0/btsOXHwsu7Q/dKTcTGHl57FHdkVKVdDq4K/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 25.854994%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5aOK0/btsOXHwsu7Q/dKTcTGHl57FHdkVKVdDq4K/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5aOK0%2FbtsOXHwsu7Q%2FdKTcTGHl57FHdkVKVdDq4K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bg6EqK/btsOWC3HJb6/czMs6mA8JpGlg6NPLsoknk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bg6EqK/btsOWC3HJb6/czMs6mA8JpGlg6NPLsoknk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 45.96443%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bg6EqK/btsOWC3HJb6/czMs6mA8JpGlg6NPLsoknk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbg6EqK%2FbtsOWC3HJb6%2FczMs6mA8JpGlg6NPLsoknk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xDZbf/btsOWicY4Tb/uxcncpzFwafV7ynZDap0H1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xDZbf/btsOWicY4Tb/uxcncpzFwafV7ynZDap0H1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 25.854994%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xDZbf/btsOWicY4Tb/uxcncpzFwafV7ynZDap0H1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxDZbf%2FbtsOWicY4Tb%2FuxcncpzFwafV7ynZDap0H1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;교토에도 있다니?! 551 호라이 만두 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;♥♡♥&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;고기완자에 왕만두가 먹고싶었다구&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;내 원픽 고기완자 겨자랑 먹으면 더맛있음 후후&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(이제 교자만 먹으면 전메뉴 뿌시기 완료)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #333333;&quot;&gt;의외로 3번이 노상 좋다고 하는게 웃김&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #333333;&quot;&gt;어딜가나 좁은 가게에 시끌벅적 분위기가 좀 힘겹긴 해&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;느즈막히 가모강 바라보며 맥주 &lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmw8Rc/btsOWDVPfrw/dQB5xv1kFTccyVOG8zKZj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmw8Rc/btsOWDVPfrw/dQB5xv1kFTccyVOG8zKZj1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmw8Rc/btsOWDVPfrw/dQB5xv1kFTccyVOG8zKZj1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmw8Rc%2FbtsOWDVPfrw%2FdQB5xv1kFTccyVOG8zKZj1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/co7wQZ/btsOXPA8QxQ/XlACuiJBCqySdycqsxcfsk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/co7wQZ/btsOXPA8QxQ/XlACuiJBCqySdycqsxcfsk/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/co7wQZ/btsOXPA8QxQ/XlACuiJBCqySdycqsxcfsk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fco7wQZ%2FbtsOXPA8QxQ%2FXlACuiJBCqySdycqsxcfsk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;스페셜 토핑의 조개 스프 라멘&lt;br&gt;'조개 스프'가 이름값 했다. 완전 해장용&lt;br&gt;온천란도 적당하게 짭잘해서 존 맛&lt;br&gt;그치만 재방문 의사는 없..ㅋ&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/87vu9/btsOV7pmLZc/pthxTJse4vvWK8cQS19Yak/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/87vu9/btsOV7pmLZc/pthxTJse4vvWK8cQS19Yak/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/87vu9/btsOV7pmLZc/pthxTJse4vvWK8cQS19Yak/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F87vu9%2FbtsOV7pmLZc%2FpthxTJse4vvWK8cQS19Yak%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wLa0G/btsOVYTNbP4/JDsLGXYKrTkX7r6Aa6ExBk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wLa0G/btsOVYTNbP4/JDsLGXYKrTkX7r6Aa6ExBk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wLa0G/btsOVYTNbP4/JDsLGXYKrTkX7r6Aa6ExBk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwLa0G%2FbtsOVYTNbP4%2FJDsLGXYKrTkX7r6Aa6ExBk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;교토 = 말차&lt;br&gt;라벨이 맘에들어서 구매한 말차맥주&lt;br&gt;안주는 말차 죽순 + 초코송이&lt;br&gt;(혈관에 말차 흐르는 중)&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wZBS9/btsOWK1mumz/MEUoswLq8TAO6gESkDO2Ck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wZBS9/btsOWK1mumz/MEUoswLq8TAO6gESkDO2Ck/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wZBS9/btsOWK1mumz/MEUoswLq8TAO6gESkDO2Ck/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwZBS9%2FbtsOWK1mumz%2FMEUoswLq8TAO6gESkDO2Ck%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkwiK3/btsOXkO1LK9/Uv4c8Oxs4U57QY9gsCUyQK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkwiK3/btsOXkO1LK9/Uv4c8Oxs4U57QY9gsCUyQK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkwiK3/btsOXkO1LK9/Uv4c8Oxs4U57QY9gsCUyQK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkwiK3%2FbtsOXkO1LK9%2FUv4c8Oxs4U57QY9gsCUyQK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;이날 목표는 맛있는 당고 먹기라고 선포했더니&lt;br&gt;길 지나갈때마다 1번이랑 3번이 당고 안먹? 물어봄ㅋㅋ&lt;br&gt;(진짜 진짜 맛집을 기다리고 있다구)&lt;br&gt;&amp;nbsp;&lt;br&gt; 노부부가 운영하는 떡집 &lt;br&gt;그냥 지나치려다가 3번이 하나만 먹자고 들려줌ㅎ.ㅎ&lt;br&gt;  감사 감사  &lt;br&gt;떡은 흐물텅 식감인데 말차랑 팥이 개사기 존맛&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6QLb6/btsOVX8oZXX/SvublLX4Vd65TkyDDOyWbK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6QLb6/btsOVX8oZXX/SvublLX4Vd65TkyDDOyWbK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6QLb6/btsOVX8oZXX/SvublLX4Vd65TkyDDOyWbK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6QLb6%2FbtsOVX8oZXX%2FSvublLX4Vd65TkyDDOyWbK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOdhB/btsOXQUnamj/MLMB2mFjI2ZWax84wVb4h1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOdhB/btsOXQUnamj/MLMB2mFjI2ZWax84wVb4h1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOdhB/btsOXQUnamj/MLMB2mFjI2ZWax84wVb4h1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOdhB%2FbtsOXQUnamj%2FMLMB2mFjI2ZWax84wVb4h1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;간식거리도 잔뜩&lt;br&gt;일본식 치킨 튀김이라는데 MZ 학생들이 많았다&lt;br&gt;바람잡이가 되었는지 다른 관광객도 줄줄이 사감ㅋㅋ&lt;br&gt;맛은 그냥 불량한 치킨 너겟? (초코 소스가 있는게 함정)&lt;br&gt;&amp;nbsp;&lt;br&gt;오니기리.. 는 맛집 프랜차이즈인가&lt;br&gt;사람도 많고 길거리에 봉지 들고다니는 사람들이 많았다&lt;br&gt;잘 구운 짭잘한 주먹밥! (밥은 내취향이 아니얌ㅎ)&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTSbxj/btsOVEONwQK/ltIY1rfHdB7InyyGsuF2X1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTSbxj/btsOVEONwQK/ltIY1rfHdB7InyyGsuF2X1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTSbxj/btsOVEONwQK/ltIY1rfHdB7InyyGsuF2X1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTSbxj%2FbtsOVEONwQK%2FltIY1rfHdB7InyyGsuF2X1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctX0Br/btsOUBLHeA7/xEI5RJqgK1lffSXXg1DwF0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctX0Br/btsOUBLHeA7/xEI5RJqgK1lffSXXg1DwF0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctX0Br/btsOUBLHeA7/xEI5RJqgK1lffSXXg1DwF0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctX0Br%2FbtsOUBLHeA7%2FxEI5RJqgK1lffSXXg1DwF0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;블루보틀 아아  맛없다&lt;br&gt;시즌 음료 주문했는데 그나마 괜찮.. 우유 맛집인듯 (꼬숩)&lt;br&gt;그냥 잔디밭이 좋았다  선선한 바람 + 여유&lt;br&gt;다들 좋아해서 다행쓰. 비만 안왔으면 잔디에 드러누웠을지도&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxKsjE/btsOWL62OwO/w15LlO1sX10PDWF1vku8Xk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxKsjE/btsOWL62OwO/w15LlO1sX10PDWF1vku8Xk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxKsjE/btsOWL62OwO/w15LlO1sX10PDWF1vku8Xk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxKsjE%2FbtsOWL62OwO%2Fw15LlO1sX10PDWF1vku8Xk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;312&quot; height=&quot;416&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;계획은 규카츠 오픈런이었는데&lt;br&gt;3번의 '규카츠 안좋아함' 소신 발언&lt;br&gt;+ 가려던 곳의 리뷰 박살과 이해 못할 가격&lt;br&gt;&amp;nbsp;&lt;br&gt;옆의 텐동집으로 노선 변경 후&lt;br&gt;오픈 시간까지 방황하다가&lt;br&gt;다시 왔는데 한국인 가족이 들어가다 마는거 발견&lt;br&gt;+ 쎄함 감지&lt;br&gt;&amp;nbsp;&lt;br&gt;구글 지도 뒤져뒤져&lt;br&gt;조용한 나만 알고싶어 느낌의 텐동집 발견&lt;br&gt;인상 굉장히 선한 부부가 운영하는 작은 가게&lt;br&gt;계속 사람한테 치이다가 편안한 분위기에서 식사 완!&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWhOKM/btsOXPOGo6J/Q8XjWhsTd9rWeM8UA35Y5k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWhOKM/btsOXPOGo6J/Q8XjWhsTd9rWeM8UA35Y5k/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 25.854994%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWhOKM/btsOXPOGo6J/Q8XjWhsTd9rWeM8UA35Y5k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWhOKM%2FbtsOXPOGo6J%2FQ8XjWhsTd9rWeM8UA35Y5k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFy4pH/btsOVE2lJhe/VVIMR39ckiizCOAjkN0uH1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFy4pH/btsOVE2lJhe/VVIMR39ckiizCOAjkN0uH1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 45.96443%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFy4pH/btsOVE2lJhe/VVIMR39ckiizCOAjkN0uH1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFy4pH%2FbtsOVE2lJhe%2FVVIMR39ckiizCOAjkN0uH1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjjhYx/btsOWkPws0q/kRsziecNo4KbNcnNjx0t3k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjjhYx/btsOWkPws0q/kRsziecNo4KbNcnNjx0t3k/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 25.854994%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjjhYx/btsOWkPws0q/kRsziecNo4KbNcnNjx0t3k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjjhYx%2FbtsOWkPws0q%2FkRsziecNo4KbNcnNjx0t3k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;관광지는 오픈런&lt;br&gt;오르막길 적응 안되서 허벅지 터질거같음&lt;br&gt;입장전에 다리 박살나기 직전&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lnnuX/btsOVFfOzwo/QXGkyawuGgpGBWB3bv1plk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnnuX/btsOVFfOzwo/QXGkyawuGgpGBWB3bv1plk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnnuX/btsOVFfOzwo/QXGkyawuGgpGBWB3bv1plk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnnuX%2FbtsOVFfOzwo%2FQXGkyawuGgpGBWB3bv1plk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7ShjJ/btsOW9tpJD5/pBJ6Vh8t7kxJeMydH9O310/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7ShjJ/btsOW9tpJD5/pBJ6Vh8t7kxJeMydH9O310/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7ShjJ/btsOW9tpJD5/pBJ6Vh8t7kxJeMydH9O310/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7ShjJ%2FbtsOW9tpJD5%2FpBJ6Vh8t7kxJeMydH9O310%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;한바퀴 돌고 내려왔더니 관광객으로 꽉 차버린&lt;br&gt;비오는 기요미즈데라..ㅋ 빠른 손절&lt;br&gt;역시 관광지는 오픈런^^&lt;br&gt;&amp;nbsp;&lt;br&gt;여유롭게 산넨자카 니넨자카 내려가기&lt;br&gt;오전시간이라 상가는 안열었지만 오히려 예쁨&lt;br&gt;비오는데 웨딩촬영하는 분들도 있었다&lt;br&gt;보는 입장에선 예쁜데 당사자 매우 힘들듯ㄷ&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eieCqN/btsOXkVPdUe/mB6cEPUAJZmpEQQoblQs0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eieCqN/btsOXkVPdUe/mB6cEPUAJZmpEQQoblQs0K/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eieCqN/btsOXkVPdUe/mB6cEPUAJZmpEQQoblQs0K/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeieCqN%2FbtsOXkVPdUe%2FmB6cEPUAJZmpEQQoblQs0K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/svIlr/btsOXfmv16t/PEUjlhQYMJjQSkX8ecgzFK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/svIlr/btsOXfmv16t/PEUjlhQYMJjQSkX8ecgzFK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 21.440725%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/svIlr/btsOXfmv16t/PEUjlhQYMJjQSkX8ecgzFK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsvIlr%2FbtsOXfmv16t%2FPEUjlhQYMJjQSkX8ecgzFK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zMOqU/btsOWoK3FMI/gUlrp2ARJd9jvI4AQlhre0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zMOqU/btsOWoK3FMI/gUlrp2ARJd9jvI4AQlhre0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zMOqU/btsOWoK3FMI/gUlrp2ARJd9jvI4AQlhre0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzMOqU%2FbtsOWoK3FMI%2FgUlrp2ARJd9jvI4AQlhre0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;교토에는 오코노미야끼 말고 와라이야끼가 있다&lt;br&gt;계란만 들어간 오코노미야끼?&lt;br&gt;부들부들한 오믈렛같고 맛있음^^&lt;br&gt;시오야끼소바도 맛없없! 간장 야끼소바 보다 내취향&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bunOLo/btsO3MZlk48/kTh3bS37Ekc0084xKnFr3K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bunOLo/btsO3MZlk48/kTh3bS37Ekc0084xKnFr3K/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bunOLo/btsO3MZlk48/kTh3bS37Ekc0084xKnFr3K/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbunOLo%2FbtsO3MZlk48%2FkTh3bS37Ekc0084xKnFr3K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q1HkS/btsO4Leiybg/rxKHzRMj5gaumG7VZBIIy0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q1HkS/btsO4Leiybg/rxKHzRMj5gaumG7VZBIIy0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q1HkS/btsO4Leiybg/rxKHzRMj5gaumG7VZBIIy0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ1HkS%2FbtsO4Leiybg%2FrxKHzRMj5gaumG7VZBIIy0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;간사이 공항 &amp;gt; 교토행 키티 열차&lt;br&gt;교토가 뭐 키티 본가임? 어딜가나 키티가 반겨줌&lt;br&gt;교통카드도 키티버전 있다고 했는데 힝구&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUgXAh/btsO4fNGHpR/lyFPckQYwg1zlkfB35lztk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUgXAh/btsO4fNGHpR/lyFPckQYwg1zlkfB35lztk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUgXAh/btsO4fNGHpR/lyFPckQYwg1zlkfB35lztk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUgXAh%2FbtsO4fNGHpR%2FlyFPckQYwg1zlkfB35lztk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;311&quot; height=&quot;415&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;여름 감성 교토 좋아&lt;br&gt;여행 내내 비소식 있어서 걱정했는데&lt;br&gt;날씨 개좋음! 오히려 좋아!&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p2IhM/btsO4ssrMSA/pd8wTZbeJa1oqYEpVwTYc0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p2IhM/btsO4ssrMSA/pd8wTZbeJa1oqYEpVwTYc0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p2IhM/btsO4ssrMSA/pd8wTZbeJa1oqYEpVwTYc0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp2IhM%2FbtsO4ssrMSA%2Fpd8wTZbeJa1oqYEpVwTYc0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nReiJ/btsO4dbh0op/aUjhEuS2V1w6PnR9QlwSD0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nReiJ/btsO4dbh0op/aUjhEuS2V1w6PnR9QlwSD0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nReiJ/btsO4dbh0op/aUjhEuS2V1w6PnR9QlwSD0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnReiJ%2FbtsO4dbh0op%2FaUjhEuS2V1w6PnR9QlwSD0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;P들의 여행..? 무계획 속의 계획이랄까&lt;br&gt;냅다 가고싶은 곳 | 구경하고 싶은거 구경하기&lt;br&gt;매일 기본 2만보 채우면서 돌아다니기 굿&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/27ivq/btsO2WhACSo/QUEkXLZSz1x1zlDAUV18x0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/27ivq/btsO2WhACSo/QUEkXLZSz1x1zlDAUV18x0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/27ivq/btsO2WhACSo/QUEkXLZSz1x1zlDAUV18x0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F27ivq%2FbtsO2WhACSo%2FQUEkXLZSz1x1zlDAUV18x0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;391&quot; height=&quot;293&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;알고보니 여기 내가 보고싶었던 건물ㅋㅎ&lt;br&gt;폐건물인가 암튼 문화건물로 재건축? 한곳인데 매우 예쁨&lt;br&gt;도시 한복판에서 들어오면 펼쳐지는 정원 느낌&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZIEGx/btsO4Jnhb1T/nngFDBrqWFBQi1MhqIboQk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZIEGx/btsO4Jnhb1T/nngFDBrqWFBQi1MhqIboQk/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZIEGx/btsO4Jnhb1T/nngFDBrqWFBQi1MhqIboQk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZIEGx%2FbtsO4Jnhb1T%2FnngFDBrqWFBQi1MhqIboQk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCpLjw/btsO3HqssO0/usn2fSl6ekpGy4FQWSTBT0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCpLjw/btsO3HqssO0/usn2fSl6ekpGy4FQWSTBT0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCpLjw/btsO3HqssO0/usn2fSl6ekpGy4FQWSTBT0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCpLjw%2FbtsO3HqssO0%2Fusn2fSl6ekpGy4FQWSTBT0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;관광지는 오픈런 22&lt;br&gt;재방문 아라시야마 대나무 숲&lt;br&gt;맘에 드는데 포토스팟에 관광객 너무 많음ㅠ ㅠ&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0rpD7/btsO3RTCLzB/oqM3v7fZbNpg5FGETIrNsK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0rpD7/btsO3RTCLzB/oqM3v7fZbNpg5FGETIrNsK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0rpD7/btsO3RTCLzB/oqM3v7fZbNpg5FGETIrNsK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0rpD7%2FbtsO3RTCLzB%2FoqM3v7fZbNpg5FGETIrNsK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/roW8H/btsO2S62xOH/InRxFjXm2GVdz5vfowcBPK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/roW8H/btsO2S62xOH/InRxFjXm2GVdz5vfowcBPK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/roW8H/btsO2S62xOH/InRxFjXm2GVdz5vfowcBPK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FroW8H%2FbtsO2S62xOH%2FInRxFjXm2GVdz5vfowcBPK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;나오는 길에 텐류지도 방문&lt;br&gt;돌 정원 멍때리기를 기대했는데 &lt;span style=&quot;color: #333333;&quot;&gt;(별루 별루)&amp;nbsp;&lt;/span&gt;&lt;br&gt;메인 빌딩은 입장료 별개로 또 돈받음 ㄷ&lt;br&gt;내가 원한건 료안지 느낌이었으&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGGJfB/btsO3Podrj9/WrZj6DuOOzUIBWG9Vjxj20/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGGJfB/btsO3Podrj9/WrZj6DuOOzUIBWG9Vjxj20/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGGJfB/btsO3Podrj9/WrZj6DuOOzUIBWG9Vjxj20/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGGJfB%2FbtsO3Podrj9%2FWrZj6DuOOzUIBWG9Vjxj20%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2SImL/btsO4TJ848h/KVciiMddihnePAemGIPJm1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2SImL/btsO4TJ848h/KVciiMddihnePAemGIPJm1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2SImL/btsO4TJ848h/KVciiMddihnePAemGIPJm1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2SImL%2FbtsO4TJ848h%2FKVciiMddihnePAemGIPJm1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;여기 당고 유명하다고 해서..&lt;br&gt;미타라시 | 호지 | 말차 | 어쩌구 종류 많은데&lt;br&gt;동생이 안먹는다고 해서 하나만 픽&lt;br&gt;그냥 달아서 다들 좋아하나봄&lt;br&gt;&amp;nbsp;&lt;br&gt;쫌쫌따리 먹으면서 돌아다니다가&lt;br&gt;미피 상점 발견했는데 음식물 반입 금지라 못들어감 ^^&lt;br&gt;쉬다가 교토대 학생의 설문조사도 해줬닼ㅋㅋ&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNymE2/btsO3PaE3Fc/KCwXNc68dMY5aDTWIiF7Vk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNymE2/btsO3PaE3Fc/KCwXNc68dMY5aDTWIiF7Vk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNymE2/btsO3PaE3Fc/KCwXNc68dMY5aDTWIiF7Vk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNymE2%2FbtsO3PaE3Fc%2FKCwXNc68dMY5aDTWIiF7Vk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;372&quot; height=&quot;279&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;버스기다리면서 상점 구경&lt;br&gt;미니 유키오 발견!! 이건 희귀하자나&lt;br&gt;+ 가방이랑 찰떡콩떡 +&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYuSJD/btsO4LSS3Nf/FNfbrofbUwYIZeJuNswKlk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYuSJD/btsO4LSS3Nf/FNfbrofbUwYIZeJuNswKlk/img.jpg&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;375&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYuSJD/btsO4LSS3Nf/FNfbrofbUwYIZeJuNswKlk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYuSJD%2FbtsO4LSS3Nf%2FFNfbrofbUwYIZeJuNswKlk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QvksP/btsO2VvTbbu/NcH5ojlgrIWlZvT1KBQbHK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QvksP/btsO2VvTbbu/NcH5ojlgrIWlZvT1KBQbHK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 21.440725%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QvksP/btsO2VvTbbu/NcH5ojlgrIWlZvT1KBQbHK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQvksP%2FbtsO2VvTbbu%2FNcH5ojlgrIWlZvT1KBQbHK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmFVOA/btsO2F1s1z6/s54tJssbaicoZe3ES1AJu1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmFVOA/btsO2F1s1z6/s54tJssbaicoZe3ES1AJu1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmFVOA/btsO2F1s1z6/s54tJssbaicoZe3ES1AJu1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmFVOA%2FbtsO2F1s1z6%2Fs54tJssbaicoZe3ES1AJu1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;가와라마치 거리쪽으로 돌아와서&lt;br&gt;오늘의 먹방은 내사랑 초밥&lt;br&gt;&amp;nbsp;&lt;br&gt;다들 지라시 스시 먹던데 대쪽같이 초밥 주문^^&lt;br&gt;(지라시는 너무 주먹밥 st..)&lt;br&gt;미슐랭 스타 까지는 아니고 가이드? 암튼 맛집이었다&lt;br&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;♡ &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;♥ &lt;/span&gt;&lt;/span&gt;대 존 맛 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;♥ ♡&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I3uis/btsO3FlRf2j/EnaZsdpR5apoY1d2joEMlk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I3uis/btsO3FlRf2j/EnaZsdpR5apoY1d2joEMlk/img.jpg&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I3uis/btsO3FlRf2j/EnaZsdpR5apoY1d2joEMlk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI3uis%2FbtsO3FlRf2j%2FEnaZsdpR5apoY1d2joEMlk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2268&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/modZO/btsO2jKQ2Xa/KBvQdIdE3ysNzJKkW5k8k0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/modZO/btsO2jKQ2Xa/KBvQdIdE3ysNzJKkW5k8k0/img.jpg&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/modZO/btsO2jKQ2Xa/KBvQdIdE3ysNzJKkW5k8k0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmodZO%2FbtsO2jKQ2Xa%2FKBvQdIdE3ysNzJKkW5k8k0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2268&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;뭐지 빈티지 상점이었나&lt;br&gt;사장님 DP 솜씨가 예술이었다&lt;br&gt;그냥 구경하는 재미~.~&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CFYyM/btsO3Qgno2v/tASfKMXeOQCxnqvHpoawd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CFYyM/btsO3Qgno2v/tASfKMXeOQCxnqvHpoawd1/img.png&quot; data-origin-width=&quot;2066&quot; data-origin-height=&quot;1549&quot; style=&quot;width: 49.42658%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CFYyM/btsO3Qgno2v/tASfKMXeOQCxnqvHpoawd1/img.png&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCFYyM%2FbtsO3Qgno2v%2FtASfKMXeOQCxnqvHpoawd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2066&quot; height=&quot;1549&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnNIlF/btsO4iQXHQt/9u5QIEjYxyuh9xXhj3Ax6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnNIlF/btsO4iQXHQt/9u5QIEjYxyuh9xXhj3Ax6k/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.41063%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnNIlF/btsO4iQXHQt/9u5QIEjYxyuh9xXhj3Ax6k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnNIlF%2FbtsO4iQXHQt%2F9u5QIEjYxyuh9xXhj3Ax6k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;? 유명한 도넛집인가 ?&lt;br&gt;사람 왕왕 많음 | 도넛도 많음&lt;br&gt;근데 먹고싶은건 딱히.. 끌리는게 없다&lt;br&gt;하찮은 도넛 트레이.. 영어 구매 담당은 접니다 Hello..&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uiql4/btsO4hqY5Lq/LQjXv7vQr3aBnwnpnnjEc1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uiql4/btsO4hqY5Lq/LQjXv7vQr3aBnwnpnnjEc1/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uiql4/btsO4hqY5Lq/LQjXv7vQr3aBnwnpnnjEc1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUiql4%2FbtsO4hqY5Lq%2FLQjXv7vQr3aBnwnpnnjEc1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/du0Cjl/btsO4ffSmvL/mzN6E4fKeMslF6PVSnMJhK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/du0Cjl/btsO4ffSmvL/mzN6E4fKeMslF6PVSnMJhK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/du0Cjl/btsO4ffSmvL/mzN6E4fKeMslF6PVSnMJhK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdu0Cjl%2FbtsO4ffSmvL%2FmzN6E4fKeMslF6PVSnMJhK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;또왔다 블루보틀 정원&lt;br&gt;오늘은 다른 카페에서 아아&lt;br&gt;커피 기다리는데 라떼가 맛있는 이유를 알았다 ㄷ&lt;br&gt; 북해도 우유 &lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YQpw0/btsO4cQZvk7/kld19AZ5rTCZKSUANRVduK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YQpw0/btsO4cQZvk7/kld19AZ5rTCZKSUANRVduK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YQpw0/btsO4cQZvk7/kld19AZ5rTCZKSUANRVduK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYQpw0%2FbtsO4cQZvk7%2Fkld19AZ5rTCZKSUANRVduK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IacF4/btsO2TLI7oU/QcxpdVsIiHLKcJEjblF9O0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IacF4/btsO2TLI7oU/QcxpdVsIiHLKcJEjblF9O0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 49.418606%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IacF4/btsO2TLI7oU/QcxpdVsIiHLKcJEjblF9O0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIacF4%2FbtsO2TLI7oU%2FQcxpdVsIiHLKcJEjblF9O0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;상점가에서 그릇 구경도 해주고요~.~&lt;br&gt;여기도 사장님이 DP를 잘해놓은건지&lt;br&gt;다른 가게에 비해 관광객 많음&lt;br&gt;&amp;nbsp;&lt;br&gt;베이킹 도구들 구경하고 싶었는데&lt;br&gt;파는 곳을 못봣다ㅠ ㅠ&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7l9eY/btsO3OpokCw/mkUkoyV6Nw9KD87tZL1dC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7l9eY/btsO3OpokCw/mkUkoyV6Nw9KD87tZL1dC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7l9eY/btsO3OpokCw/mkUkoyV6Nw9KD87tZL1dC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7l9eY%2FbtsO3OpokCw%2FmkUkoyV6Nw9KD87tZL1dC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;414&quot; height=&quot;414&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;유키오 획득 22 (이번 시즌은 메론인가)&lt;br&gt;색감이 맞아서 행복해~.~&lt;br&gt;가방에 영구박제&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjeWpv/btsO4fUsUa3/I2xeoLDVNpoMvlIAZixOP0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjeWpv/btsO4fUsUa3/I2xeoLDVNpoMvlIAZixOP0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjeWpv/btsO4fUsUa3/I2xeoLDVNpoMvlIAZixOP0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjeWpv%2FbtsO4fUsUa3%2FI2xeoLDVNpoMvlIAZixOP0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;444&quot; height=&quot;333&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;저녁 예약 실패 후 숙소 근처 초밥집&lt;br&gt;웨이팅 한시간 도라방스구요&lt;br&gt;기다리는 동안 메뉴 정독하면서 뭐시킬지 계산ㅋㅋ&lt;/p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lDlzM/btsO2YzKdLo/AV6W8UCjt2gBVajJkVjx8K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lDlzM/btsO2YzKdLo/AV6W8UCjt2gBVajJkVjx8K/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lDlzM/btsO2YzKdLo/AV6W8UCjt2gBVajJkVjx8K/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlDlzM%2FbtsO2YzKdLo%2FAV6W8UCjt2gBVajJkVjx8K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Orwbx/btsO2X1QFUd/L3yNET1EJu1RcVsZdNuE91/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Orwbx/btsO2X1QFUd/L3yNET1EJu1RcVsZdNuE91/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 38.116844%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Orwbx/btsO2X1QFUd/L3yNET1EJu1RcVsZdNuE91/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOrwbx%2FbtsO2X1QFUd%2FL3yNET1EJu1RcVsZdNuE91%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;연어알 존 맛 ! 하나도 안비리고 식감 미쳤다&lt;br&gt;나의 픽 : 중뱃살 + 간장절임 참치 + 등푸른 3종 + 대뱃살&lt;br&gt;1시간 기다리고 10분 컷으로 흡입한거 같다 ㄷ&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cchhUP/btsO4op5AR2/ewcZWgTuXokvkBHXAjy0L1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cchhUP/btsO4op5AR2/ewcZWgTuXokvkBHXAjy0L1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cchhUP/btsO4op5AR2/ewcZWgTuXokvkBHXAjy0L1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcchhUP%2FbtsO4op5AR2%2FewcZWgTuXokvkBHXAjy0L1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;411&quot; height=&quot;548&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;쇼핑 전에 교자도 맛만 보자며 호로록&lt;br&gt;여기도 미슐랭ㅋㅎ 양배추가 살아있어서 오독오독 맛있다&lt;br&gt;인당 2개씩 딱 적절한 양이었다^^&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pixK9/btsO3CbAFm8/jiQOVBP0YKJvqp1yb6coa0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pixK9/btsO3CbAFm8/jiQOVBP0YKJvqp1yb6coa0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pixK9/btsO3CbAFm8/jiQOVBP0YKJvqp1yb6coa0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpixK9%2FbtsO3CbAFm8%2FjiQOVBP0YKJvqp1yb6coa0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;341&quot; height=&quot;256&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;귀여운게 최고얌!&lt;br&gt;다이소에서 키티 칫솔꽂이도 발견했는데&lt;br&gt;멕아리가 없어서 사용 불가ㅋㅋ&lt;br&gt;그냥 관상용으로 놔둠&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;4096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUMDVh/btsO4QGEMya/WKZPaJzQoe49nuOJpyuAmK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUMDVh/btsO4QGEMya/WKZPaJzQoe49nuOJpyuAmK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUMDVh/btsO4QGEMya/WKZPaJzQoe49nuOJpyuAmK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUMDVh%2FbtsO4QGEMya%2FWKZPaJzQoe49nuOJpyuAmK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;264&quot; height=&quot;469&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;4096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;유키오 일대기&lt;br&gt;진짜 희귀 + 멍청한 녀석으로 데려가야해&lt;br&gt;슬픔이 같이 생긴 녀석도 고민했는데&lt;br&gt;약간 엘리멘탈 닮은듯&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E4xY8/btsO2HLLkaC/HIfuFFCuzs2l9FEyIGROCk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E4xY8/btsO2HLLkaC/HIfuFFCuzs2l9FEyIGROCk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E4xY8/btsO2HLLkaC/HIfuFFCuzs2l9FEyIGROCk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE4xY8%2FbtsO2HLLkaC%2FHIfuFFCuzs2l9FEyIGROCk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;387&quot; height=&quot;290&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;마지막 야식은 말차 범벅&lt;br&gt;쫀득 당고를 기대했는데 와라비 모찌였다&lt;br&gt;그래도 맛있음ㅎ.ㅎ&lt;br&gt;&lt;br&gt;일본어 잘하고싶다ㅠ&lt;br&gt;여행다닐때마다 느끼는건데 언어 잘하면 너무 좋을듯&lt;br&gt;불어랑 스페인어는 꼭 배워야지  &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQv0Nz/btsO3hlfDVD/v5h6SAqN3P7RQg1oo9Ookk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQv0Nz/btsO3hlfDVD/v5h6SAqN3P7RQg1oo9Ookk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQv0Nz/btsO3hlfDVD/v5h6SAqN3P7RQg1oo9Ookk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQv0Nz%2FbtsO3hlfDVD%2Fv5h6SAqN3P7RQg1oo9Ookk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;393&quot; height=&quot;295&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: center;&quot;&gt;마지막 아침 카페까지 야무지게&lt;br&gt;역시 우유 맛집인듯.. 다르다..&lt;br&gt;(약간 일본은 달라 병인거 같은데 암튼 다름)&lt;br&gt;말차가루 사서 매일 만들어먹기 실천중&lt;br&gt;&lt;br&gt; 여행은 즐거워 &lt;br&gt;다음번엔 소도시 중심으로 가보자구&lt;br&gt; ‍♀️ ‍♀️ ‍♂️&lt;/p&gt;</description>
      <category>✈️ 도비는 여행중</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/155</guid>
      <comments>https://paatata.tistory.com/155#entry155comment</comments>
      <pubDate>Fri, 4 Jul 2025 10:27:15 +0900</pubDate>
    </item>
    <item>
      <title>[Github] Github Pages로 웹사이트 배포하기</title>
      <link>https://paatata.tistory.com/117</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;시작은 어버이날 카드를 만들어서 보내고 싶었던 컴공 졸업자의 깔짝임..&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Github pages 설정을 이용하면 서버 연동 없이 웹사이트를 배포할 수 있다는 사실..!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(단, 동적인 페이지는 불가능하며 정적 페이지만 가능하다 HTML, CSS, JS)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.48.44.png&quot; data-origin-width=&quot;2142&quot; data-origin-height=&quot;1082&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z69jB/btsHe1XNu6P/iHMbZHgElxwlUiBzJvQrf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z69jB/btsHe1XNu6P/iHMbZHgElxwlUiBzJvQrf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z69jB/btsHe1XNu6P/iHMbZHgElxwlUiBzJvQrf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ69jB%2FbtsHe1XNu6P%2FiHMbZHgElxwlUiBzJvQrf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2142&quot; height=&quot;1082&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.48.44.png&quot; data-origin-width=&quot;2142&quot; data-origin-height=&quot;1082&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;repository &amp;gt; settings &amp;gt; pages &amp;gt; branch&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;branch와 경로 설정 후 레포지토리 첫 페이지로 돌아가면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.49.29.png&quot; data-origin-width=&quot;2102&quot; data-origin-height=&quot;598&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRqCR5/btsHgYTtACB/oA9SxMk69GYwCrgnFZAHEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRqCR5/btsHgYTtACB/oA9SxMk69GYwCrgnFZAHEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRqCR5/btsHgYTtACB/oA9SxMk69GYwCrgnFZAHEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRqCR5%2FbtsHgYTtACB%2FoA9SxMk69GYwCrgnFZAHEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2102&quot; height=&quot;598&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.49.29.png&quot; data-origin-width=&quot;2102&quot; data-origin-height=&quot;598&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;deployments가 생긴걸 확인할 수 있다! (시간이 조금 걸림)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.49.55.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgq7YY/btsHecelmZQ/NvAAN8xdqRXCIEuxJWjYX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgq7YY/btsHecelmZQ/NvAAN8xdqRXCIEuxJWjYX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgq7YY/btsHecelmZQ/NvAAN8xdqRXCIEuxJWjYX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcgq7YY%2FbtsHecelmZQ%2FNvAAN8xdqRXCIEuxJWjYX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;577&quot; height=&quot;141&quot; data-filename=&quot;스크린샷 2024-05-08 오후 12.49.55.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이제 이 링크를 보내주면 끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>Github</category>
      <category>웹페이지</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/117</guid>
      <comments>https://paatata.tistory.com/117#entry117comment</comments>
      <pubDate>Wed, 8 May 2024 12:54:02 +0900</pubDate>
    </item>
    <item>
      <title>Tistory 스킨 변경</title>
      <link>https://paatata.tistory.com/116</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;테스트 글쓰기 ing&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;레트로 스킨을 좋아하는 사람으로 직접 만들어볼까 했는데;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;귀찮아서 어찌저찌 배포된 기본 환경에 깔짝거리며 커스텀 진행&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;정작 모바일에선 아무것도 안보이는게 흠이지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;pc로 보면 조금 달라진다는 점이 괜찮을지도..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-04 오후 6.14.22.png&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D1K5M/btsHaoT021A/jMtdRkzhezTc6Xcw1tHf51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D1K5M/btsHaoT021A/jMtdRkzhezTc6Xcw1tHf51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D1K5M/btsHaoT021A/jMtdRkzhezTc6Xcw1tHf51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD1K5M%2FbtsHaoT021A%2FjMtdRkzhezTc6Xcw1tHf51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;268&quot; data-filename=&quot;스크린샷 2024-05-04 오후 6.14.22.png&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;근데 또 이게 safari에서 볼때랑 chrome으로 볼때랑 달라지는게 맘에 안든단 말이죠&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;직접 만들어야 맘에 들려나 조금 고민입니다&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 빵굽는 중/  귀여운게 제일 좋아</category>
      <category>tistory</category>
      <category>스킨변경</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/116</guid>
      <comments>https://paatata.tistory.com/116#entry116comment</comments>
      <pubDate>Sat, 4 May 2024 18:15:44 +0900</pubDate>
    </item>
    <item>
      <title>CORS Error</title>
      <link>https://paatata.tistory.com/107</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;??? 서버 ip + /api/v1/~~&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;get 요청을 보냈는데 오류를 얻었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;has&amp;nbsp;been&amp;nbsp;blocked&amp;nbsp;by&amp;nbsp;CORS&amp;nbsp;policy:&amp;nbsp;No&amp;nbsp;'Access-Control-Allow-Origin'&amp;nbsp;header&amp;nbsp;is&amp;nbsp;present&amp;nbsp;on&amp;nbsp;the&amp;nbsp;requested&amp;nbsp;resource.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. CORS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Cross Origin Resource Sharing&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Origin = url 주소상에서 프로토콜, Domain 이름, 포트까지 포함&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;로컬에 띄운 http://localhost:5500 이 Origin&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-03 오후 1.07.21.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;598&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rimgT/btszCJdpkZd/efgbMG6BOUKITFJ8fKrRyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rimgT/btszCJdpkZd/efgbMG6BOUKITFJ8fKrRyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rimgT/btszCJdpkZd/efgbMG6BOUKITFJ8fKrRyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrimgT%2FbtszCJdpkZd%2FefgbMG6BOUKITFJ8fKrRyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;157&quot; data-filename=&quot;스크린샷 2023-11-03 오후 1.07.21.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;598&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Cross Origin Resource Sharing = 서로 다른 Origin 간의 리소스 교환!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;2. CORS Error&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Same Origin 의 경우 요청이 오는 곳 / 처리하는 곳이 동일해서 보안상 처리해줄 이유 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;브라우저에서 결과의 헤더 값을 통해 CORS 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;브라우저에서는 서버에서 전달 받은 응답 중 헤더에 &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Access-Control-Allow-Origin 값을 확인하고&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이 값에 현재 Origin이 포함되는지 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;포함 O -&amp;gt; CORS 수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;포함 X -&amp;gt; 에러&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3. CORS Solution&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Access-Control-Allow-Origin 전체 허용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;백엔드에서 모든 주소를 Access-Control-Allow-Origin 으로 주면 해결 가능..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;배포용으로 적절한 방법이 아님&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;브라우저가 CORS 방어를 해줄 수 X &amp;gt; 보안 취약&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 특정 도메인만 추가해서 사용하는 것 추천&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 프록시 서버 사용하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;브라우저가 보낸 요청을 프론트엔드에서 받아서 대신 보내는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;서버 간 데이터 교환상에서는 CORS가 이루어지지 않기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;프론트 서버에서 받은 정보를 브라우저에 업데이트&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <category>CORS</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/107</guid>
      <comments>https://paatata.tistory.com/107#entry107comment</comments>
      <pubDate>Fri, 3 Nov 2023 13:15:58 +0900</pubDate>
    </item>
    <item>
      <title>Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks</title>
      <link>https://paatata.tistory.com/106</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;[&lt;a href=&quot;https://arxiv.org/pdf/1506.01497.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;] [&lt;a href=&quot;https://github.com/facebookresearch/detectron2/tree/main/detectron2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;code: detectron2&lt;/a&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.10.56.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7bikA/btszyRJkf5g/F7kPxAaoZsPtkDYtHv5IYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7bikA/btszyRJkf5g/F7kPxAaoZsPtkDYtHv5IYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7bikA/btszyRJkf5g/F7kPxAaoZsPtkDYtHv5IYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7bikA%2FbtszyRJkf5g%2FF7kPxAaoZsPtkDYtHv5IYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;734&quot; height=&quot;169&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.10.56.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Faster R-CNN = 2개의 모듈로 구성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 영역 제안을 위한 deep fully convolutional network&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 제안된 영역을 사용하는 Fast R-CNN detector&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이전에..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;R-CNN&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.16.44.png&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o8k56/btszF4sTlX8/dt61ec2y195Z8B9215pzZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o8k56/btszF4sTlX8/dt61ec2y195Z8B9215pzZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o8k56/btszF4sTlX8/dt61ec2y195Z8B9215pzZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo8k56%2FbtszF4sTlX8%2Fdt61ec2y195Z8B9215pzZk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;377&quot; height=&quot;245&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.16.44.png&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;CNN을 사용해서 객체 감지에 높은 성능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;input 이미지를 SS 알고리즘 사용해 후보 영역 생성 ~ 2000여개의 region proposal&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;후보 영역을 cnn 입력으로 &amp;gt;&amp;gt; [cnn은 이미 imagenet으로 pre-trained 된 네트워크]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;cnn을 통해 나온 feature map &amp;gt; 벡터 추출&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 클래스별로 svm classifier 학습 &amp;gt; 2000개의 박스들은 어떤 물체일 확률값을 가진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 가장 확률값이 높은 박스를 사용하기 위해 IoU 적용, 물체를 전체 대상화 할 수 있는 박스 하나 만들어내&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;gt; NMS&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Regressor: bounding box regression&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;SS 를 통해 찾은 박스 위치가 부정확 &amp;gt; 모델 성능을 높이기 위해 박스 위치 교정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;좌표/너비/높이 조정하는 함수 가중치 곱해 선형 회귀&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 입력을 위해 고정된 크기의 wrap/crop 사용 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 이미지 정보 손실 &amp;amp; 2000여개 영역마다 cnn 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; SVM/Regression 학습 시간 오래 걸려&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;SPP-Net&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;R-CNN 단점 보완&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.17.39.png&quot; data-origin-width=&quot;1342&quot; data-origin-height=&quot;914&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/elUIw7/btszy6fsbzT/43xeyq5lQUOsmkmNsoyI9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/elUIw7/btszy6fsbzT/43xeyq5lQUOsmkmNsoyI9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/elUIw7/btszy6fsbzT/43xeyq5lQUOsmkmNsoyI9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FelUIw7%2Fbtszy6fsbzT%2F43xeyq5lQUOsmkmNsoyI9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;383&quot; height=&quot;261&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.17.39.png&quot; data-origin-width=&quot;1342&quot; data-origin-height=&quot;914&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력으로 region proposal 하나하나 사용 X&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 이미지 자체를 conv net 통과 &amp;gt; feature map 만들어서&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; feature map으로부터 region proposal 만들기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 학습 속도 개선&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Fast R-CNN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;R-CNN + SPP-Net 의 단점 개선&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.18.31.png&quot; data-origin-width=&quot;1446&quot; data-origin-height=&quot;854&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDnA2N/btszFHqXjjb/jtrrZPA2o3Uw2g3AyiaXGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDnA2N/btszFHqXjjb/jtrrZPA2o3Uw2g3AyiaXGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDnA2N/btszFHqXjjb/jtrrZPA2o3Uw2g3AyiaXGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDnA2N%2FbtszFHqXjjb%2FjtrrZPA2o3Uw2g3AyiaXGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;380&quot; height=&quot;224&quot; data-filename=&quot;스크린샷 2023-11-02 오후 12.18.31.png&quot; data-origin-width=&quot;1446&quot; data-origin-height=&quot;854&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;전체 이미지를 CNN 통과시켜 Feature map 추출&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Feature map에서 RoI(입력 이미지에서 SS로 찾아 feature map에 적용) 검출&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; SS 로 찾은 RoI에 대해 RoI Pooling = 고정 크기의 벡터 추출 (저차원 벡터로 축소)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 벡터를 FC 통과&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;gt; Softmax: (SVM 대체) RoI가 어떤 물체인지 classification&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;gt; Bounding Box Regression: SS로 찾은 박스 위치 조절&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;전체 시스템은 객체 감지를 위한 하나의 unified network로&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Selective Search 가 느린 이유는 cpu에서 돌기 때문&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;-&amp;gt; region proposal 생성하는 네트워크도 gpu 에 넣자고..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLKEas/btszDBYYlHL/2YlARh3MkybLT61I9ErZZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLKEas/btszDBYYlHL/2YlARh3MkybLT61I9ErZZ0/img.png&quot; width=&quot;254&quot; height=&quot;234&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;490&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.13.04.png&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;35.49&quot; style=&quot;width: 35.075186%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLKEas/btszDBYYlHL/2YlARh3MkybLT61I9ErZZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLKEas%2FbtszDBYYlHL%2F2YlARh3MkybLT61I9ErZZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PwfDb/btszGUYhuk3/X9rRdxLnMKmgQYKYb0aLg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PwfDb/btszGUYhuk3/X9rRdxLnMKmgQYKYb0aLg1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;608&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.32.33.png&quot; data-widthpercent=&quot;64.51&quot; style=&quot;width: 63.762024%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PwfDb/btszGUYhuk3/X9rRdxLnMKmgQYKYb0aLg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPwfDb%2FbtszGUYhuk3%2FX9rRdxLnMKmgQYKYb0aLg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;알고리즘 :&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot; data-token-index=&quot;0&quot;&gt;&amp;nbsp;RPN과 Fast R-CNN으로 구성&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;- RPN 모듈은 Fast R-CNN 모듈에게 어떤 부분이 중요한지 설명해주는 attn 메커니즘 수행&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;RPN과 Fast R-CNN의 convolutional features를 공유 &amp;gt; 하나의 네트워크로&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;+ RPN이 RoI를 제대로 만들어야 학습이 잘 됨 &amp;rarr; 4단계에 거쳐 모델 학습&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;(RPN은 FCN의 한 종류, detection proposlas 를 위해 end-to-end 학습이 가능)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;+ Anchor box 도입해 속도 향상&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;1. ImageNet Pretrained model 불러와: &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;원본 이미지를 입력으로 &lt;b&gt;feature map&lt;/b&gt; 얻는다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;2. feature map이 RPN에 전달되어 &lt;b&gt;region proposal&lt;/b&gt; 산출&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;3. 과정[1]에서 얻은 feature map과 region proposal 통해&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;RoI Pooling =&amp;gt; &lt;b&gt;고정 크기의 feature map&lt;/b&gt; 얻어&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;4. Fast R-CNN 모델에 고정 크기 feature map 입력해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;classification 과 bounding box regression 수행&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;RPN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;+ Anchor box&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.51.13.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqcUOg/btszzDD0Mxj/Y4jc2l4edwAti4GoYdOquK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqcUOg/btszzDD0Mxj/Y4jc2l4edwAti4GoYdOquK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqcUOg/btszzDD0Mxj/Y4jc2l4edwAti4GoYdOquK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqcUOg%2FbtszzDD0Mxj%2FY4jc2l4edwAti4GoYdOquK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;240&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.51.13.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;722&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;기존 sliding window는 고정된 window 이미지에서 움직이면서 객체 탐지&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; anchor를 사용하면 가운데 픽셀 기준으로 k개의 anchor box 이용해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;하나의 window에서 여러가지 scale | aspect ratio 의 bounding box 고려&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3가지 scale &amp;amp; 3 aspect ratio ==&amp;gt; k = 9 anchor box 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.42.44.png&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dMoYT8/btszGT59NrF/YCBkJaE5C4MNnvHUT0fAt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dMoYT8/btszGT59NrF/YCBkJaE5C4MNnvHUT0fAt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dMoYT8/btszGT59NrF/YCBkJaE5C4MNnvHUT0fAt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdMoYT8%2FbtszGT59NrF%2FYCBkJaE5C4MNnvHUT0fAt1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;312&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.42.44.png&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;입력과 출력&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. pre-trained cnn 통과 &amp;gt; feature map (w,h,c)를 입력&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. 3x3 conv 연산 수행 | zero-padding = 1, intermediate feature map 크기를 w,h로 유지&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. 1x1 conv 연산 수행 -&amp;gt; [cls] ojbect 존재를 위한 classification | [reg] obj 위치를 위한 bounding box regression&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;4. classification result = w, h, 18(2*9): sliding position의 중심점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;5. bounding box regression result = w, h, 36(4*9) 4개의 좌표를 가지고 regerssion&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Loss function&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.46.51.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIgd95/btszGKVJMOF/nXuyUKUBDw6feiTlIk9sEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIgd95/btszGKVJMOF/nXuyUKUBDw6feiTlIk9sEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIgd95/btszGKVJMOF/nXuyUKUBDw6feiTlIk9sEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIgd95%2FbtszGKVJMOF%2FnXuyUKUBDw6feiTlIk9sEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;94&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.46.51.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: index of an anchor&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: predicted probability&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: parameterized coordinates&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;N&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: mini-batch size&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;N&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: the number of anchor locations&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lambda;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: balancing parameter (default = 10)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;L&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: cross-entropy loss&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;L&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;: L1 smooth loss&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Sharing features for RPN and Fast R-CNN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.48.45.png&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;662&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnS6cu/btszCuz6h2C/lOeQmCveDif04eRqbvcxeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnS6cu/btszCuz6h2C/lOeQmCveDif04eRqbvcxeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnS6cu/btszCuz6h2C/lOeQmCveDif04eRqbvcxeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnS6cu%2FbtszCuz6h2C%2FlOeQmCveDif04eRqbvcxeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;722&quot; height=&quot;345&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.48.45.png&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;662&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Fast R-CNN 모듈은 RPN을 통해 RoI를 받는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Non-maximum suppression을 사용해 2000개의 RoI 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;* Training&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.50.36.png&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZfeeC/btszFJJMg0v/piXZAlefJdAfCNOOngH2F0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZfeeC/btszFJJMg0v/piXZAlefJdAfCNOOngH2F0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZfeeC/btszFJJMg0v/piXZAlefJdAfCNOOngH2F0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZfeeC%2FbtszFJJMg0v%2FpiXZAlefJdAfCNOOngH2F0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1384&quot; height=&quot;570&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.50.36.png&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;anchor target layer | Proposal target layer 존재 &amp;gt; 학습을 위한 ground truth 만들어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* Detection&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.51.09.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dXERAC/btszCvlvjMm/JsdIkSpeRLbt1MGxE2Ruv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dXERAC/btszCvlvjMm/JsdIkSpeRLbt1MGxE2Ruv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dXERAC/btszCvlvjMm/JsdIkSpeRLbt1MGxE2Ruv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdXERAC%2FbtszCvlvjMm%2FJsdIkSpeRLbt1MGxE2Ruv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1396&quot; height=&quot;434&quot; data-filename=&quot;스크린샷 2023-11-02 오후 4.51.09.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;434&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Ref.&lt;/b&gt; pytorh로 구현된 Faster R-CNN repository: &lt;a href=&quot;https://github.com/chenyuntc/simple-faster-rcnn-pytorch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;^.^&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>Faster R-CNN</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/106</guid>
      <comments>https://paatata.tistory.com/106#entry106comment</comments>
      <pubDate>Thu, 2 Nov 2023 16:55:00 +0900</pubDate>
    </item>
    <item>
      <title>Graph R-CNN for Scene Graph Generation</title>
      <link>https://paatata.tistory.com/105</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://arxiv.org/pdf/1808.00191.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[Paper]&lt;/a&gt;. [&lt;a style=&quot;color: #0070d1; text-align: start;&quot; href=&quot;https://github.com/jwyang/graph-rcnn.pytorch&quot;&gt;Github&lt;/a&gt;]&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.32.55.png&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWBZwy/btszD2WfBXz/KaZGmdqlHcGzobAwa82zZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWBZwy/btszD2WfBXz/KaZGmdqlHcGzobAwa82zZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWBZwy/btszD2WfBXz/KaZGmdqlHcGzobAwa82zZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWBZwy%2FbtszD2WfBXz%2FKaZGmdqlHcGzobAwa82zZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;710&quot; height=&quot;165&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.32.55.png&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;✏️ 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. Graph R-CNN: 객체 &amp;lt;-&amp;gt; 이미지간의 관계 detecting&lt;br /&gt;&amp;nbsp; &amp;nbsp; ➞ Relation Proposal Network(RePN)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. attentional Graph Convolutional Network&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;➞ obj &amp;amp; relation 사이 contextual 정보 파악&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. evaluation metric&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;➞ 존재하는 metric 보다 holistic &amp;amp; realistic ^^&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.34.26.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pgmBT/btszA2Xyx8z/WTfVZ3OhSU7lnDwyy5lMdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pgmBT/btszA2Xyx8z/WTfVZ3OhSU7lnDwyy5lMdK/img.png&quot; data-alt=&quot;(a) Object node extraction (b) Relationship edge pruning (c) Graph context integratoin&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pgmBT/btszA2Xyx8z/WTfVZ3OhSU7lnDwyy5lMdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpgmBT%2FbtszA2Xyx8z%2FWTfVZ3OhSU7lnDwyy5lMdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;708&quot; height=&quot;172&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.34.26.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;194&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;(a) Object node extraction (b) Relationship edge pruning (c) Graph context integratoin&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Visual Scene&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;➞ 이미지 내 객체에 초점을 둔게 대부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;img classification | obj detection | segmentation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;scene 을 객체간의 집합?collection으로 표현하면 &lt;b&gt;관계&lt;/b&gt;를 파악하기 어려워&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;➞ obj 를 포함하고 있는 &lt;b&gt;그래프&lt;/b&gt;로 이해하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 표현:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;node = obj, edge = relationship 형태의 fully connected graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;객체수가 증가하면? 그래프 표현이 의미가... ㄴㄴ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Graph R-CNN (for scene graph generation)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. obj node 추출 ➞ &amp;nbsp;&lt;u&gt;&lt;b&gt;utilize standard obj detection pipeline[32] Faster R-CNN&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. relation edge pruing&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. graph context integration&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Scene Graph&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Image region&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* relationships:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;- V: set of nodes corresponding to localized obj regions in I&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;- E: relationships between obj&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;- O: object , R; relationship labels&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;model을 다음과 같이 나타낼 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.35.16.png&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqZWSC/btszC1wx4sB/rJKKlBVGX93T2g7vKhGECk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqZWSC/btszC1wx4sB/rJKKlBVGX93T2g7vKhGECk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqZWSC/btszC1wx4sB/rJKKlBVGX93T2g7vKhGECk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqZWSC%2FbtszC1wx4sB%2FrJKKlBVGX93T2g7vKhGECk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;195&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.35.16.png&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.41.46.png&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjUdmi/btszC7XOY5y/aqLFuqhEtNXukH4lUBi1y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjUdmi/btszC7XOY5y/aqLFuqhEtNXukH4lUBi1y0/img.png&quot; data-alt=&quot;I: Image V: 이미지 내의 object node set E: object 간의 relationship O: object label, R: Relationship label&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjUdmi/btszC7XOY5y/aqLFuqhEtNXukH4lUBi1y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjUdmi%2FbtszC7XOY5y%2FaqLFuqhEtNXukH4lUBi1y0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;568&quot; height=&quot;148&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.41.46.png&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;I: Image V: 이미지 내의 object node set E: object 간의 relationship O: object label, R: Relationship label&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. Object Region Proposal&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;b&gt;Faster R-CNN&lt;/b&gt;으로 객체 영역 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;객체 i와 관련 있는 영역 r&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;y&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;h&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]과 &lt;/span&gt;&lt;/span&gt;feature vector&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, class에 대한 확률분포&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 추출한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(classes = { 1, ..., k })&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;spatial region&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;y&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;h&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;feature vector&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;class에 대한 확률분포&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 추출&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;2. Relationship Proposal Network&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: (원래) vertex의 잠재적인 edge의 uniform random sampling 을 통해 구하는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 논문에서는 &lt;b&gt;RePN&lt;/b&gt; 제안 &amp;gt; 전체 생성 프로세스를 end-to-end 방식으로 학습할 수 있도록 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;n개의 obj가 있을 때 O(n^2)개의 관계 만들어지는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;RePN -&amp;gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;pruning&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.49.02.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZFjbh/btszChGRh49/Ya2izggfrE1u5KAy96wEp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZFjbh/btszChGRh49/Ya2izggfrE1u5KAy96wEp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZFjbh/btszChGRh49/Ya2izggfrE1u5KAy96wEp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZFjbh%2FbtszChGRh49%2FYa2izggfrE1u5KAy96wEp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;328&quot; height=&quot;44&quot; data-filename=&quot;스크린샷 2023-11-01 오후 11.49.02.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Relation 은 클래스에 따라 관계 여부 결정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;s&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;j&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​ &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;f&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;j&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;Phi;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;psi;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;j&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;&amp;gt; = relatedness&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;(&amp;Phi;&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&amp;psi;&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&lt;span&gt;p&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;j&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;)는 sub, obj를 구별하기 위한 projection function)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;[poi, poj] 를 concate 해서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;MLP&lt;/b&gt; 하는 방법도 있는데 메모리/계산량 측면에서 매우 그지같음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; asymmetric kernel fucntion 사용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Overlap 계산&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;caret-color: #212529;&quot;&gt;두 객체 쌍 {u, v} &amp;amp; {p, q}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.05.40.png&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rseZp/btszzT7DUHR/E9j1skBHQzEH76Vs2x9t8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rseZp/btszzT7DUHR/E9j1skBHQzEH76Vs2x9t8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rseZp/btszzT7DUHR/E9j1skBHQzEH76Vs2x9t8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrseZp%2FbtszzT7DUHR%2FE9j1skBHQzEH76Vs2x9t8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;297&quot; height=&quot;60&quot; data-filename=&quot;스크린샷 2023-11-02 오전 9.05.40.png&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left; font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;i&gt;I&lt;/i&gt;: computed intersection area between 2 boxes&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left; font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;i&gt;U&lt;/i&gt;: union &amp;nbsp;area&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;모든 pair 는 sigmoid 를 거쳐 0 ~ 1 사이의 score 가져&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;내림 차순으로 정렬하고 K 개의 pair 에 대해 NMS 수행&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;결과 = sparse Graph = (V, E) 얻어&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;edge 에는 object pair 의 union box의 feature 추출한 visual representation 담긴다..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;X&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;m&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;} (&lt;/span&gt;&lt;span&gt;m&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;: number of relation)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;caret-color: #212529;&quot;&gt;나머지 m 객체 쌍은 관계 E를 가진 후보로 간주해 - G=(V, E) 그래프를 얻는다?&lt;/span&gt;&lt;/span&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;caret-color: #212529;&quot;&gt;Vanila GCN&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;노드 i의 표현 zi: 모든 이웃 노드들 zj에 &amp;nbsp;선형변환 가중치 aij 곱해 update&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;a는 0 ~ 1 사이의 값으로 feature의 symmmetically normalized adjacency matrix에 의해 미리 계산됨.&lt;/span&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;1336&quot; data-origin-height=&quot;406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uSioA/btszzXWrK01/848q3DoZX07tABxnvYR13K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uSioA/btszzXWrK01/848q3DoZX07tABxnvYR13K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uSioA/btszzXWrK01/848q3DoZX07tABxnvYR13K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuSioA%2FbtszzXWrK01%2F848q3DoZX07tABxnvYR13K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;405&quot; height=&quot;123&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;1336&quot; data-origin-height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여기에 attention 을 도입하면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.29.46.png&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LcEtg/btszC8oUFG8/uohwKs1jY6KCbFs0wk1mnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LcEtg/btszC8oUFG8/uohwKs1jY6KCbFs0wk1mnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LcEtg/btszC8oUFG8/uohwKs1jY6KCbFs0wk1mnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLcEtg%2FbtszC8oUFG8%2FuohwKs1jY6KCbFs0wk1mnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;278&quot; height=&quot;89&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.29.46.png&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[* , *]: concatenation operation: concate 한 node feature 를 2 layer MLP에 통과 &amp;gt; softmax&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;== a를 구한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* object node&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.31.36.png&quot; data-origin-width=&quot;1360&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQOeWc/btszC7jdtIY/7Ito1JCEH6S2pz441csoKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQOeWc/btszC7jdtIY/7Ito1JCEH6S2pz441csoKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQOeWc/btszC7jdtIY/7Ito1JCEH6S2pz441csoKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQOeWc%2FbtszC7jdtIY%2F7Ito1JCEH6S2pz441csoKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;411&quot; height=&quot;77&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.31.36.png&quot; data-origin-width=&quot;1360&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;* relationship node&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.32.06.png&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwquEH/btszCuTvLxT/w9aOUg7DdhAfoqcQ6X8lB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwquEH/btszCuTvLxT/w9aOUg7DdhAfoqcQ6X8lB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwquEH/btszCuTvLxT/w9aOUg7DdhAfoqcQ6X8lB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwquEH%2FbtszCuTvLxT%2Fw9aOUg7DdhAfoqcQ6X8lB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;391&quot; height=&quot;72&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.32.06.png&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;caret-color: #212529;&quot;&gt;N 개의 object node 와 m개의 relationships + 모든 object nodes 끼리 skip-connect edge를 연결시켜&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;caret-color: #212529;&quot;&gt;global context를 고려한 representation update&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3. Graph labeling&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: iterative refinement process&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Loss function&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;P(V&lt;span&gt;&amp;nbsp;&lt;/span&gt;| I )
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RPN과 동일한 loss: binary cross entropy loss&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;P(E|V ,I)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;another binary cross entropy loss on relation proposals&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;P(R,O|V,E,I)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2 multi-class cross-entropy losses&lt;/li&gt;
&lt;li&gt;object classification &amp;amp; predicate classification&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Evaluating Scene Graph Generation&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;SGGen+ formulated:&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.33.23.png&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp1mf8/btszDz05ob0/MtAp9bsqRRjwk9Y9FX1DVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp1mf8/btszDz05ob0/MtAp9bsqRRjwk9Y9FX1DVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp1mf8/btszDz05ob0/MtAp9bsqRRjwk9Y9FX1DVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp1mf8%2FbtszDz05ob0%2FMtAp9bsqRRjwk9Y9FX1DVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;328&quot; height=&quot;74&quot; data-filename=&quot;스크린샷 2023-11-02 오전 12.33.23.png&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C(O): number of object nodes correctly localized and recognized&lt;/li&gt;
&lt;li&gt;C(P): for predicate &amp;rarr; depends on the location of the subject and object&lt;/li&gt;
&lt;li&gt;C(T): triplet&lt;/li&gt;
&lt;li&gt;N: number of entries (sum: objects, predicates, relationships)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>Graph R-CNN</category>
      <category>Scene Graph Generation</category>
      <category>SGG</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/105</guid>
      <comments>https://paatata.tistory.com/105#entry105comment</comments>
      <pubDate>Thu, 2 Nov 2023 09:09:53 +0900</pubDate>
    </item>
    <item>
      <title>[Windows] Ubuntu | VirtualBox Setting</title>
      <link>https://paatata.tistory.com/104</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;1.&amp;nbsp;본인 컴퓨터 환경에 맞는 가상환경 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;a href=&quot;https://www.virtualbox.org/wiki/Downloads&quot;&gt;https://www.virtualbox.org/wiki/Downloads&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Visual c++ 2019 redistributable package 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170&quot;&gt;https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;2. Ubuntu 20.04 설치&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;a href=&quot;https://releases.ubuntu.com/20.04/&quot;&gt;https://releases.ubuntu.com/20.04/&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;3. 새로 만들기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;- ISO = Linux&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;- 종류, 버전 선택 = Ubuntu 20.04 LTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt;기본 메모리 = 4096&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt;CPU 4개&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt;비디오 메모리 32MB&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt;공유 폴더: 자동 마운트/항상 사용하기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;✂️ Trobule&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;* 키보드 설정시 계속하기 버튼 안보여..&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;참고 (&lt;a href=&quot;https://min0114.tistory.com/29&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://min0114.tistory.com/29&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= display settings에서 해상도 설정하면 보여요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;4. 공유 폴더&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;Terminal 에서 root 권한 실행:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;$ su&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;공유 폴더 생성&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;$ mkdir {name} (mkdir VB_share)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;공유 폴더 마운트&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;$ mount -t vboxsf {windows 공유 폴더} { 생성한 공유 폴더 경로 }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;5. 필요한 library 설치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;apt-get update&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;apt-install python3-pip&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;pip install pytorch-lightning==1.9.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;pip install transformers&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;pip install onnx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;pip install onnxruntime&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;VScode 설치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;ssh 서버 설치 및 로컬에서 접속&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* open ssh 서버와 클라이언트 모두 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ sudo apt-get install ssh&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ sudo systemtl status ssh&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;서버가 활성화 상태인지 확인ㅇㅇ -&amp;gt; active(running) 보이면 실행중인 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;방화벽 상태를 확잉ㄴ하고 사용중이라면? ssh 허용하도록 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ sudo ufw status&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ sudo ufs allow ssh&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;서버 접속을 위한 ip 주소 알아내기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ ifconfig&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필요한 경우 net-tools 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ sudo apt install net-tools&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;inet 값이 ip 주소!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>Linux</category>
      <category>ubuntu20.04</category>
      <category>window</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/104</guid>
      <comments>https://paatata.tistory.com/104#entry104comment</comments>
      <pubDate>Wed, 1 Nov 2023 01:09:56 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] UTM | M1 | 공유폴더 | 환경 설정</title>
      <link>https://paatata.tistory.com/102</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;또 무슨 뻘짓거리를 하려고..?&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. ubuntu 20.04를 시작으로 공유 폴더를 설정하고 싶은데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;폴더 &amp;gt; other location 에서&lt;b&gt; spice client folder&lt;/b&gt;라는게 보여야 한다.. &amp;gt; 안보여&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;cmake&quot; style=&quot;background-color: #f2f2f2; color: #242424; text-align: start;&quot;&gt;&lt;code&gt;sudo apt install spice-vdagent spice-webdavd&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-10-14 오후 8.41.56.png&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sYO5H/btsyuHFZJxS/UjKxxasP0ZKKlIAUDq36EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sYO5H/btsyuHFZJxS/UjKxxasP0ZKKlIAUDq36EK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sYO5H/btsyuHFZJxS/UjKxxasP0ZKKlIAUDq36EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsYO5H%2FbtsyuHFZJxS%2FUjKxxasP0ZKKlIAUDq36EK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;306&quot; data-filename=&quot;스크린샷 2023-10-14 오후 8.41.56.png&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;reboot &amp;gt; other locations &amp;gt; 조금 지나면 spice client folder 가 보인다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OsYTn/btsytYVOEVR/TDo4khFJuNFbCWGzXCSolK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OsYTn/btsytYVOEVR/TDo4khFJuNFbCWGzXCSolK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;570&quot; data-filename=&quot;스크린샷 2023-10-14 오후 8.45.00.png&quot; data-widthpercent=&quot;50.56&quot; style=&quot;width: 49.970467%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OsYTn/btsytYVOEVR/TDo4khFJuNFbCWGzXCSolK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOsYTn%2FbtsytYVOEVR%2FTDo4khFJuNFbCWGzXCSolK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1570&quot; height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beF6PH/btsys3Q4glI/49CREkkDZkkhR92PWi0Y21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beF6PH/btsys3Q4glI/49CREkkDZkkhR92PWi0Y21/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1336&quot; data-origin-height=&quot;496&quot; data-filename=&quot;스크린샷 2023-10-14 오후 8.45.14.png&quot; data-widthpercent=&quot;49.44&quot; style=&quot;width: 48.866743%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beF6PH/btsys3Q4glI/49CREkkDZkkhR92PWi0Y21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeF6PH%2Fbtsys3Q4glI%2F49CREkkDZkkhR92PWi0Y21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1336&quot; height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이러면 된건가? 아무튼 성공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 네트워크 검색 지원한느 samba, 일부 유형의 드라이브 마운트 가능.. 어쩌구&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #f2f2f2; color: #242424; text-align: start;&quot;&gt;&lt;code&gt;sudo apt install samba gvfs-backends &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. 갑자기 길을 잃고 VS Code를 쓰고싶어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1697278353005&quot; class=&quot;bash&quot; style=&quot;background-color: #ffffff; color: #373c46; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;sudo apt install net-tools

ifconfig&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-10-14 오후 7.13.24.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;760&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckO9lN/btsyuHFYNbV/eOtZBMIkZ5hY4ohWbrXLQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckO9lN/btsyuHFYNbV/eOtZBMIkZ5hY4ohWbrXLQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckO9lN/btsyuHFYNbV/eOtZBMIkZ5hY4ohWbrXLQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckO9lN%2FbtsyuHFYNbV%2FeOtZBMIkZ5hY4ohWbrXLQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;553&quot; height=&quot;285&quot; data-filename=&quot;스크린샷 2023-10-14 오후 7.13.24.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;760&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;mac 터미널로 돌아와서&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1697278531114&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh [username]@[ip address]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2023-10-14 오후 7.15.46.png&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tK9ne/btsysoHDrmZ/OAw3fNdhH0UXdefYKbOXik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tK9ne/btsysoHDrmZ/OAw3fNdhH0UXdefYKbOXik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tK9ne/btsysoHDrmZ/OAw3fNdhH0UXdefYKbOXik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtK9ne%2FbtsysoHDrmZ%2FOAw3fNdhH0UXdefYKbOXik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;564&quot; height=&quot;316&quot; data-filename=&quot;edited_스크린샷 2023-10-14 오후 7.15.46.png&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;오.. 된다.. VSC &amp;gt; ssh config file 에 host 추가해서 사용하기 가능^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. mount 하고 싶다고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;unknown filesystem type 'vboxsf'&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1697285009979&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;vagrant plugin install vagrant-vbguest
vagrant vbguest&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;vbox가 아니잖아..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;애초에 파일 마운트가 뭔데ㅠ ㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 컴퓨터 파일 시스템 -&amp;gt; 다른 dir로 연결하거나 합치는 작업ㅇㅇ&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- file system: 파일과 dir 구성하고 저장하는 방식 정의 [운체 시간에 배운거 아닌가]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- mounting: 파일 시스템을 운영체제의 dir 구조에 연결하는 프로세스 &amp;gt; 다른 파일 시스테므이 파일|dir에 접근 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- mount point: 마운트할 파일 시스템을 운영체제의 dir 트리에 연하는 지점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Network File System(nfs): local 파일 시스템처럼 마운트 가능 &amp;gt; 네트워크를 통해 원격 서버의 파일 시스템에 접근 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. anaconda&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;# ubuntu 20.04&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;# &lt;a href=&quot;https://repo.anaconda.com/archive/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;버전 확인&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.sh 파일 다운로드 &amp;gt; wget&lt;/p&gt;
&lt;pre id=&quot;code_1697326457149&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-aarch64.sh

bash Anaconda3-2023.09-0-Linux-aarch64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;설정하다가 자동 활성화 해버렸다.. &amp;gt; 해제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1697326722635&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda config --set auto_activate_base false

source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;4. tensorboard error: 403&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;ssh -L 8878:localhost:6009 {username}@{ip address} -p 2222&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;jupyter notebook =&amp;gt; 403 error&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;왜 ?? =&amp;gt; 브라우저 쿠키 설정의 오류^^  &lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;5. 뭔짓거린지 모르겠음&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;그냥 window 쓰는게 맘 편할거 같다는 생각이 들어요&lt;/span&gt;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/102</guid>
      <comments>https://paatata.tistory.com/102#entry102comment</comments>
      <pubDate>Sat, 14 Oct 2023 20:46:55 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] su: Authentication failure</title>
      <link>https://paatata.tistory.com/101</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;root 권한 얻기 위한 su.. error&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; root password를 설정하지 않아서 그럼^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;sudo passwd root&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;8글자 이상ㅎ.ㅎ&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/101</guid>
      <comments>https://paatata.tistory.com/101#entry101comment</comments>
      <pubDate>Fri, 13 Oct 2023 23:37:17 +0900</pubDate>
    </item>
    <item>
      <title>[Torchtext] Can't find model 'en_core_web_sm'</title>
      <link>https://paatata.tistory.com/100</link>
      <description>&lt;pre id=&quot;code_1696387486604&quot; class=&quot;bash&quot; style=&quot;color: #000000; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;pip install -U spacy&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;[E050]&amp;nbsp;Can't&amp;nbsp;find&amp;nbsp;model&amp;nbsp;'en_core_web_sm'.&amp;nbsp;It&amp;nbsp;doesn't&amp;nbsp;seem&amp;nbsp;to&amp;nbsp;be&amp;nbsp;a&amp;nbsp;shortcut&amp;nbsp;link,&amp;nbsp;a&amp;nbsp;Python&amp;nbsp;package&amp;nbsp;or&amp;nbsp;a&amp;nbsp;valid&amp;nbsp;path&amp;nbsp;to&amp;nbsp;a&amp;nbsp;data&amp;nbsp;directory.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;English 같은 language 를 별도 설치&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1696387595937&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python -m spacy download en
python -m spacy download de&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;자연어 처리 모델 돌리면 매번&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;Torch 버전이랑 Cuda랑 Torchtext 어쩌구 계속 에러나는데&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;정리하기 귀찮아서 매번 이러고 있다~~&lt;/s&gt;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/100</guid>
      <comments>https://paatata.tistory.com/100#entry100comment</comments>
      <pubDate>Wed, 4 Oct 2023 13:04:44 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] ssh: cannot connect to host | No space left on device</title>
      <link>https://paatata.tistory.com/99</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;loop: 이미지 파일 -&amp;gt; 블록 device로 인식되게 해주는 디바이스 드라이버&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 이미지 파일 마운트&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;df -h 로 용량 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.13.34.png&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sofsz/btsvkqhOt7d/yNruXiHFXGnovAFE411QAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sofsz/btsvkqhOt7d/yNruXiHFXGnovAFE411QAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sofsz/btsvkqhOt7d/yNruXiHFXGnovAFE411QAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSofsz%2FbtsvkqhOt7d%2FyNruXiHFXGnovAFE411QAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;538&quot; height=&quot;150&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.13.34.png&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;fdisk -l&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;현재 디스크 및 파티션 보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;/dev/loop0 ~ loop4&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;파일 =&amp;gt; 루프 장치를 사용해 블록 파일로 접근 가능, RAM 점유와 관련 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;'/dev/loop' 장치는 파일 시스템 이미지가 있는 파일을 블록 장치인 것처럼 취급&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;snap? 뭔데 이거&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.54.19.png&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d6KNAu/btsvx1N6gfg/cgIYdT8UByOGDISv3AK4J1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d6KNAu/btsvx1N6gfg/cgIYdT8UByOGDISv3AK4J1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d6KNAu/btsvx1N6gfg/cgIYdT8UByOGDISv3AK4J1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd6KNAu%2Fbtsvx1N6gfg%2FcgIYdT8UByOGDISv3AK4J1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;272&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.54.19.png&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;nvme0n1 disk에 nvme0n1p1, nvme0n1p2, nvme0n1p3 3개의 파티션으로 분할된 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;nvme0n1p3dp os 설치한거 같은데..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;nvme0n1p3 size = 928.5G =&amp;gt; os는 100G만 사용중&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;typedms lvm (논리적 볼륨 크기 -&amp;gt; 크기를 자율로 확장 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;lvm이 용량의 100%를 사용할 수 있도록 만들어주자&lt;/p&gt;
&lt;pre id=&quot;code_1695606980122&quot; class=&quot;angelscript&quot; style=&quot;background-color: #f6f7f8; color: #555555; text-align: start;&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.57.09.png&quot; data-origin-width=&quot;1074&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tz4DQ/btsvlGR2Lo0/uWXBw0E4PvIqfwz9dY3UUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tz4DQ/btsvlGR2Lo0/uWXBw0E4PvIqfwz9dY3UUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tz4DQ/btsvlGR2Lo0/uWXBw0E4PvIqfwz9dY3UUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTz4DQ%2FbtsvlGR2Lo0%2FuWXBw0E4PvIqfwz9dY3UUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;563&quot; height=&quot;209&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.57.09.png&quot; data-origin-width=&quot;1074&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;df -h로 다시 확인해보면 용량이 안늘어나있는데..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.57.27.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOTbOg/btsvndVU0ls/k3FdzMqJAZNiq7WWlXOOzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOTbOg/btsvndVU0ls/k3FdzMqJAZNiq7WWlXOOzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOTbOg/btsvndVU0ls/k3FdzMqJAZNiq7WWlXOOzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOTbOg%2FbtsvndVU0ls%2Fk3FdzMqJAZNiq7WWlXOOzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;576&quot; height=&quot;158&quot; data-filename=&quot;스크린샷 2023-09-25 오전 10.57.27.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;288&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1695607340482&quot; style=&quot;background-color: #f6f7f8; color: #555555;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: center;&quot;&gt;
&lt;div id=&quot;aswift_3_host&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-09-25 오전 11.02.01.png&quot; data-origin-width=&quot;1058&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdk2Zr/btsvHdtR7m1/9QefpWRxFpA7HLvA2737R0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdk2Zr/btsvHdtR7m1/9QefpWRxFpA7HLvA2737R0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdk2Zr/btsvHdtR7m1/9QefpWRxFpA7HLvA2737R0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcdk2Zr%2FbtsvHdtR7m1%2F9QefpWRxFpA7HLvA2737R0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;558&quot; height=&quot;155&quot; data-filename=&quot;스크린샷 2023-09-25 오전 11.02.01.png&quot; data-origin-width=&quot;1058&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;삽질 끝!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이제 맘편하게 공부 가능^^&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <category>Linux</category>
      <category>SSH</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/99</guid>
      <comments>https://paatata.tistory.com/99#entry99comment</comments>
      <pubDate>Mon, 25 Sep 2023 11:04:03 +0900</pubDate>
    </item>
    <item>
      <title>[개발환경] RTX 4090 Ubuntu 22.04 | CUDA</title>
      <link>https://paatata.tistory.com/97</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Ubuntu 22.04&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ nvcc -V&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;nvcc:&amp;nbsp;NVIDIA&amp;nbsp;(R)&amp;nbsp;Cuda&amp;nbsp;compiler&amp;nbsp;driver&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Copyright&amp;nbsp;(c)&amp;nbsp;2005-2022&amp;nbsp;NVIDIA&amp;nbsp;Corporation&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Built&amp;nbsp;on&amp;nbsp;Wed_Sep_21_10:33:58_PDT_2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Cuda&amp;nbsp;compilation&amp;nbsp;tools,&amp;nbsp;release&amp;nbsp;11.8,&amp;nbsp;V11.8.89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Build&amp;nbsp;cuda_11.8.r11.8/compiler.31833905_0&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1694565194398&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get update
sudo apt install -y ubuntu-drivers-common&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;구성 확인 + Nvidia Graphic Driver&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565242732&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;lspci | grep -i nvidia&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GPU 2개 ➝ 2개 뜨는거 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Distribution + Release number 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565360163&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;uname -m &amp;amp;&amp;amp; cat /ect/*release&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ubuntu 22.04 설치 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;gcc compiler&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565436562&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gcc --version

# 없다면 설치
sudo apt update
sudo apt install build-essential&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Kernel version 확인 + Kernel headers install&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565537134&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;uname -r
sudo apt-get install linux-headers-$(uname -r)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;그래픽 카드 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565558317&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo lshw -numeric -C display&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Compatible version 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565578494&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo ubuntu-drivers devices&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;distro non-free &lt;u&gt;recommended&lt;/u&gt; 표시된 nvidia-driver-###-open 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;원하는 버전으로 설치 &amp;amp; reboot 후 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694565701528&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt install nvidia-driver-###
sudo reboot

nvidia-smi&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; CUDA Version은 compatible version 의미&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;CUDA install&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://developer.nvidia.com/cuda-toolkit-archive&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cuda-toolkit&lt;/a&gt; 에서 환경과 맞는 설정 찾아 설치&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;코드 복붙 &amp;gt; 순차적으로 진행&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이미 호환되는 driver 확인 후 설치 &amp;gt; driver 해제하고 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;경로 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694566859109&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo vi ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;아래 두 줄 추가&lt;/p&gt;
&lt;pre id=&quot;code_1694566899926&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export PATH=&quot;/usr/local/cuda/bin:$PATH&quot;
export LD_LIBRARY_PATH=&quot;/usr/local/cuda/lib64:$LD_LIBRARY_PATH&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;수정된 bashrc 적용 후 확인&lt;/p&gt;
&lt;pre id=&quot;code_1694566931491&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source ~/.bashrc

nvcc -V&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;cuDNN 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://developer.nvidia.com/rdp/cudnn-archive&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cuDNN Archive&lt;/a&gt; 버전 확인 후 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;scp 명령어: mac &amp;gt; ubuntu 파일 전송&lt;/p&gt;
&lt;pre id=&quot;code_1694583341367&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 참고
scp example.txt remoteuser@your_server_ip:/home/remoteuser/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;압축 풀고 /usr/local로 복붙 후 권한 설정&lt;/p&gt;
&lt;pre id=&quot;code_1694567110957&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tar -xvf cudnn-linux-x86_64-#.#.#.#cuda##-archive.tar.xz&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1694567149590&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo cp cudnn-linux-x86_64-#.#.#.#_cuda##-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-#.#.#.#_cuda##-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;명령어 입력 시 제대로 출력 확인&lt;/p&gt;
&lt;pre id=&quot;code_1694567163574&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Anaconda 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;root 에서 설치해야 하는건지??&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다른 사용자에서 접근 안되서 삽질 222&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.anaconda.com/download/#linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;anaconda&lt;/a&gt; : wget 명령어로 설치파일 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다운로드한 경로에서 실최된 파일 실행&lt;/p&gt;
&lt;pre id=&quot;code_1694576730429&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;bash Anaconda3-####.##-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 기본적인 설치 경로 = /home/[사용자]/anaconda3&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 필요한 경우 변경해주기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.bashrc에서 PATH 등록&lt;/p&gt;
&lt;pre id=&quot;code_1694577158996&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export PATH=&quot;/home/{username}/anaconda3/bin:$PATH&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.bashrc 최신화&lt;/p&gt;
&lt;pre id=&quot;code_1694577196346&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ssh 내 계정에서 .bashrc 수정 &amp;gt; conda 확인 완료^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;VS Code: ssh 접속&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➞ remote-ssh extension &amp;gt; user@ip addr 접속&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➞ python extension 설치&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➞ conda env&lt;/p&gt;
&lt;pre id=&quot;code_1694604043444&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 가상환경 목록 확인
conda env list 

# 가상환경 생성
conda create -n [name] python=3.9

# 실행
conda activate [name]

# conda: error: argument COMMAND: invalid choice: 'activate'
# 해결: linux anaconda3 path 입력
source /opt/anaconda3/etc/profile.d/conda.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;✏️ import torch ..[OK]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;torch.cuda.is_available() &amp;gt; [Fasle]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;✅&amp;nbsp;torch &amp;harr; cuda 버전에 맞게 conda로 설치&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;pkgs &amp;gt; conda clean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1694666500004&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;torch version 맞추기.. [&lt;a href=&quot;https://pytorch.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;cuda 11.8이니까 이게 맞지 않을까&lt;/p&gt;
&lt;pre id=&quot;code_1694610190174&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# conda 랑 pip 차이가 뭐죠?&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GPU 정보 확인&lt;/p&gt;
&lt;pre id=&quot;code_1694666551289&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# GPU 이름 체크(cuda:0에 연결된 그래픽 카드 기준)
print(torch.cuda.get_device_name(), device = 0)

# 사용 가능 GPU 개수 체크
print(torch.cuda.device_count())&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;특정 번호 GPU 사용 지정&lt;/p&gt;
&lt;pre id=&quot;code_1694666617339&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import os

# 0, 1, 2번의 GPU를 모두 사용하고 싶은 경우 예시(각각 cuda:0, cuda:1, cuda:2에 지정)
os.environ[&quot;CUDA_DEVICE_ORDER&quot;] = &quot;PCI_BUS_ID&quot;
os.environ[&quot;CUDA_VISIBLE_DEVICES&quot;] = &quot;0,1,2&quot;

# 2번 GPU만 사용하고 싶은 경우 예시(cuda:0에 지정)
os.environ[&quot;CUDA_DEVICE_ORDER&quot;] = &quot;PCI_BUS_ID&quot;
os.environ[&quot;CUDA_VISIBLE_DEVICES&quot;] = &quot;2&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[&lt;a href=&quot;https://csm-kr.tistory.com/29#google_vignette&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참고&lt;/a&gt;] Ubuntu Server&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>CUDA</category>
      <category>cudnn</category>
      <category>ubuntu</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/97</guid>
      <comments>https://paatata.tistory.com/97#entry97comment</comments>
      <pubDate>Wed, 13 Sep 2023 10:15:12 +0900</pubDate>
    </item>
    <item>
      <title>[세미나] 발표 회고 | 피드백 정리 | TO DO</title>
      <link>https://paatata.tistory.com/96</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;˗ˋˏ &amp;zwj;♀️ᩚˎˊ˗&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;4번에 걸친 세미나 발표 끝&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cakEg8/btsrr2XGLRs/pyuCEAECoOFGph7pl7Yh91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cakEg8/btsrr2XGLRs/pyuCEAECoOFGph7pl7Yh91/img.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;574&quot; style=&quot;width: 37.416126%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cakEg8/btsrr2XGLRs/pyuCEAECoOFGph7pl7Yh91/img.png&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcakEg8%2Fbtsrr2XGLRs%2FpyuCEAECoOFGph7pl7Yh91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPkzGG/btsrVrQXCeS/vP4cakPDm6HYXDYAWaoxLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPkzGG/btsrVrQXCeS/vP4cakPDm6HYXDYAWaoxLK/img.png&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;344&quot; style=&quot;width: 61.42108%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPkzGG/btsrVrQXCeS/vP4cakPDm6HYXDYAWaoxLK/img.png&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPkzGG%2FbtsrVrQXCeS%2FvP4cakPDm6HYXDYAWaoxLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;850&quot; height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;♧ 목표 = 인턴 + 연구과제 ➔&amp;nbsp;아주 멋지게 해내기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;clubs; 현실 = 개같이 멸망 ٩⍩⃝و  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. Pointer Network [&lt;/b&gt;&lt;a href=&quot;https://paatata.tistory.com/63&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;b&gt;정리&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;]&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9akMC/btsrBnaEYD4/OMaeHYCOKe9v1kuUVODjW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9akMC/btsrBnaEYD4/OMaeHYCOKe9v1kuUVODjW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9akMC/btsrBnaEYD4/OMaeHYCOKe9v1kuUVODjW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9akMC%2FbtsrBnaEYD4%2FOMaeHYCOKe9v1kuUVODjW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;263&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;첫 논문 발표 때는 나름 피드백 정리, 회고 글도 작성했었다. [&lt;a href=&quot;https://paatata.tistory.com/71&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;첫 발표&lt;/span&gt;&lt;/a&gt;]&lt;br /&gt;조합 최적화 문제를 풀기 위해 어텐션 메커니즘을 도입한 모델을 제시..&lt;br /&gt;&amp;nbsp;&lt;br /&gt;발표에 너무 자신이 없고 떨리는 사람이라 항상 대본도 써놓고 덜덜덜&lt;br /&gt;그냥 이해한대로 잘 얘기하고 싶은데 앞에만 서면 머리가 굳는다ㅠㅠ&lt;br /&gt;&amp;nbsp;&lt;br /&gt;ppt에 사용한 자료들은 대부분 논문 그림 | 수식을 캡처해서 사용했는데&lt;br /&gt;대부분의 학생들이 논문 그림을 사용하는데 새롭게 만들어서 사용하는게 좋다는 피드백을 받았다.&lt;br /&gt;&amp;amp; 목소리를 키우고 자신감 있게 말하기&lt;br /&gt;&amp;nbsp;&lt;br /&gt;레퍼런스 논문들까지 꼼꼼하게 보고싶은데 + 시간 부족 &lt;u&gt;⬅&amp;nbsp;핑계인가&lt;/u&gt;&lt;br /&gt;욕심내면 너무 끝도 없는데 그냥 잘해보고 싶은 마음이 컸다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;2. Attention [&lt;/b&gt;&lt;a href=&quot;https://paatata.tistory.com/72&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;b&gt;정리&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;]&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1740&quot; data-origin-height=&quot;990&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgLtlL/btsrCm3qzNs/YloohGBI9pUftJNIR6JWsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgLtlL/btsrCm3qzNs/YloohGBI9pUftJNIR6JWsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgLtlL/btsrCm3qzNs/YloohGBI9pUftJNIR6JWsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgLtlL%2FbtsrCm3qzNs%2FYloohGBI9pUftJNIR6JWsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;279&quot; data-origin-width=&quot;1740&quot; data-origin-height=&quot;990&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;읽을 논문들이 쏟아졌던 일주일..?&lt;br /&gt;그와중에 발표 준비까지 하려니까 생각보다 심한 스트레스를 받았던 것 같다.&lt;br /&gt;내 능력 VS. 잘하려는 욕심을 조절하지 못해서 이도저도 못한 발표였다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;반복되는 주제의 논문들이라 연관지어가면서 읽고 싶었는데&lt;br /&gt;이해 &amp;gt; 못함 &amp;gt; 이해? &amp;gt; 바보 의 연속&lt;br /&gt;이게 맞나 싶었던 상황에서의 발표&lt;br /&gt;&amp;nbsp;&lt;br /&gt;이전 발표때보다 논문은 더 많이 봤는데 &amp;gt;&amp;gt; 그때문인가 발표할때 약간 내 머리속에만 있는 기분&lt;br /&gt;수식에 대해서 좀 더 자세한 예시를 풀어서 만들었으면 좋았을 듯..&lt;br /&gt;+ 심지어 하나 빼먹음..&lt;br /&gt;+ 실험 결과는 어짜피 성능 좋다는 결론이니까&lt;br /&gt;+ 수식이 많이 나오는 논문을 발표할 때 &amp;gt; 처음 듣는 사람이 잘 이해할 수 있도록 === 그러러면 내가 완벽하게 이해를 해야겠지?&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;⏩ 문제가 뭔지 알고 있는데,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;하기 싫었던 걸까&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;3. Transformer [&lt;/b&gt;&lt;a href=&quot;https://paatata.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;b&gt;정리&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;]&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B1CDm/btsryqr04DW/A2CitCUZe06FnNSga7eby1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B1CDm/btsryqr04DW/A2CitCUZe06FnNSga7eby1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B1CDm/btsryqr04DW/A2CitCUZe06FnNSga7eby1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB1CDm%2Fbtsryqr04DW%2FA2CitCUZe06FnNSga7eby1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;263&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;다른 리뷰들도 많이 참고해서 정말 많이 읽었는데&lt;br /&gt;발표 자료 와장창 깨져버리기 ➔ 멘탈 바사삭&lt;br /&gt;&amp;nbsp;&lt;br /&gt;이번엔 코드도 찾아보면서 직접 따라해보고 이해하려고 노력&lt;br /&gt;+ 주어진 시간도 평소보다 많았기 때문에 여러번 보려고 노력했는데&lt;br /&gt;+ 오히려 시간이 많아지니까 그만큼 늘어진 듯 &amp;gt;&amp;gt; 집중 못했던거 같아&lt;br /&gt;&amp;nbsp;&lt;br /&gt;질문에 대한 답변을 잘 못했다 &amp;gt; 자세하게 생각해보지 않았기 때문에&lt;br /&gt;의욕만 앞서고 여태 봤던 논문들조차 정리가 안된다는 느낌이 살짝 들어 &amp;gt; 이게 맞나&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;⏩ 내 생각을 가지고 읽어야하는데.. 그냥 읽기만 했다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;4. Order matters [&lt;/b&gt;&lt;a href=&quot;https://paatata.tistory.com/91&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;b&gt;정리&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;]&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;972&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqTpJl/btsrZvZupO9/KFKe5APnHGQ5NQnKTDCc7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqTpJl/btsrZvZupO9/KFKe5APnHGQ5NQnKTDCc7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqTpJl/btsrZvZupO9/KFKe5APnHGQ5NQnKTDCc7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqTpJl%2FbtsrZvZupO9%2FKFKe5APnHGQ5NQnKTDCc7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;274&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;972&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;마지막 발표할 논문&lt;br /&gt;이번엔 수식 ⏩&amp;nbsp;예시까지 잘 설명하려고 여러번 읽었는데&lt;br /&gt;일주일이라는 시간에 무너짐&lt;br /&gt;인턴 + 연구과제 + 발표 &amp;gt;&amp;gt; 과부하&lt;br /&gt;어느 하나 우선순위를 못정하고 스트레스만 오지게 받았고&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O10aK/btsrUqMie1V/k0M0ohzzE298GQ0AvYSbf0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O10aK/btsrUqMie1V/k0M0ohzzE298GQ0AvYSbf0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O10aK/btsrUqMie1V/k0M0ohzzE298GQ0AvYSbf0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO10aK%2FbtsrUqMie1V%2Fk0M0ohzzE298GQ0AvYSbf0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;379&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여태 봤던 논문들 쭉 훓어보면서 생각 정리&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;뭔가 아쉽다.. 잘 하려는 마음을 조금 내려놓고 질문을 가지고 읽을껄&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;막힌다고 생각할 때 주변 사람들한테 도와달라고 말할껄&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이제 와서 후회해봤자 어쩌겠거니 싶지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이런 기회로 성장하는거겠지 생각하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;세상 혼자 사는거 아니니까 좀 답답하게 살지 말고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 교수님과의 면담 ➔&amp;nbsp;느끼는게 많다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이미 날 너무 잘 파악하고 계신 교수님..ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;주변에 이런 사람들이 있다는게 너무 고맙고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;자신감을 가지자 | 뭔가 큰 일을 해내려고 하지말고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;조금씩 내 속도에 맞춰가면 된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 채찍질? 괜찮은데 적당히 해야지&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;너 생각보다 개복치 사람이고 예민이니까&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;멀쩡해 + 괜찮아 금지&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;힘들면 버티지말고 조금 쉬었다가기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 내가 하고싶은 일 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;전공 분야나 앞으로의 진로나 생각 -ing&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;쉬고 싶으면 잠깐 쉬어도 괜찮고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다른 공부가 하고싶으면 지원해줄 수 있으니까&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;진짜로 하고 싶은게 뭔지 찾아보기 ⏩ 근데 다 하고싶으면?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;s&gt;욕심도 살짝 내려놓기..&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;⏩ 여태 봤던 논문들 다시 보면서 교수님과 미팅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이번엔 코드도 다시 살펴보고 + 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;⏩ 발표가 아니면 더 잘 설명할 수 있겠지&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;하고싶은거 있으면 다 해봐라..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>발표</category>
      <category>세미나</category>
      <category>피드백</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/96</guid>
      <comments>https://paatata.tistory.com/96#entry96comment</comments>
      <pubDate>Mon, 11 Sep 2023 11:13:01 +0900</pubDate>
    </item>
    <item>
      <title>2023 여름 | 우당탕탕 일본 여행 | 오사카 | 나라 | 교토</title>
      <link>https://paatata.tistory.com/95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1일차&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCskPJ/btsth8n38JM/05us3s7uNkPxerAW4oaIG0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCskPJ/btsth8n38JM/05us3s7uNkPxerAW4oaIG0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCskPJ/btsth8n38JM/05us3s7uNkPxerAW4oaIG0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCskPJ%2Fbtsth8n38JM%2F05us3s7uNkPxerAW4oaIG0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;440&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;6일동안 쩡쩡이를 챙겨줄 듬직한 사람들&lt;br /&gt;가고싶은 곳만 말하고 일정을 부탁했다&lt;br /&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pZoW1/btss8kcRFb5/tELRstyMVjwUqaDnOKtK3k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pZoW1/btss8kcRFb5/tELRstyMVjwUqaDnOKtK3k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pZoW1/btss8kcRFb5/tELRstyMVjwUqaDnOKtK3k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpZoW1%2Fbtss8kcRFb5%2FtELRstyMVjwUqaDnOKtK3k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;569&quot; height=&quot;427&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;청주 공항은 처음이라 어색&lt;br /&gt;인천보다 가까운데 왜 여기로 안왔지 싶고?&lt;br /&gt;주변에 군사기지 있어서 사진 맘대로 찍으면 안된다고 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBT4Oy/btsteRHoVNB/RILLkoq3zw1Ol7jzPOHzP0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBT4Oy/btsteRHoVNB/RILLkoq3zw1Ol7jzPOHzP0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBT4Oy/btsteRHoVNB/RILLkoq3zw1Ol7jzPOHzP0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBT4Oy%2FbtsteRHoVNB%2FRILLkoq3zw1Ol7jzPOHzP0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;551&quot; height=&quot;413&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;오랜만에 타는 비행기&lt;br /&gt;그림이 너무 귀여워서 찍어봤다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rvU8R/btss92peBz1/cqPW2mGJlMu3bTctW6XJLK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rvU8R/btss92peBz1/cqPW2mGJlMu3bTctW6XJLK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rvU8R/btss92peBz1/cqPW2mGJlMu3bTctW6XJLK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrvU8R%2Fbtss92peBz1%2FcqPW2mGJlMu3bTctW6XJLK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;551&quot; height=&quot;551&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;밤이 되서야 도착한 일본&lt;br /&gt;환전한 돈을 두고 온걸 공항 ➞ 숙소가는 버스에서 알아채서 당황&lt;br /&gt;1번이랑 3번이 짐싸다가 서로 말이 안맞았나보다&lt;br /&gt;&amp;nbsp;&lt;br /&gt;괜찮아 나 월급 받았어^^&lt;br /&gt;카드도 있으니까 내꺼 쓰면 된다고 안심시키기&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CscAT/btss86r3Isx/yle9gKTJAEKw9F022Cjkbk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CscAT/btss86r3Isx/yle9gKTJAEKw9F022Cjkbk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CscAT/btss86r3Isx/yle9gKTJAEKw9F022Cjkbk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCscAT%2Fbtss86r3Isx%2Fyle9gKTJAEKw9F022Cjkbk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;554&quot; height=&quot;416&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;숙소가 한시 이후로 나갈 수 없다고 일단 밥부터 해결하기&lt;br /&gt;늦게까지 여는데가 이치란밖에 없는데&lt;br /&gt;역시나 웨이팅 줄이 너무 길어서 다른 곳 찾아가기&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PBuJr/btstgikaCR7/mkgNjzog6RSQPoyaypmI3k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PBuJr/btstgikaCR7/mkgNjzog6RSQPoyaypmI3k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PBuJr/btstgikaCR7/mkgNjzog6RSQPoyaypmI3k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPBuJr%2FbtstgikaCR7%2FmkgNjzog6RSQPoyaypmI3k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;526&quot; height=&quot;701&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;언니가 저장해둔 숙소 근처 타코야끼 집&lt;br /&gt;소금마늘 | 명란마요 | 무 폰즈 | 오리지날 세트로 주문했는데&lt;br /&gt;소금마늘 + 무 폰즈가 맛도리~.~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KAaJJ/btstbcZrycz/tIKiaGUJ4IQZq3bqR06qLK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KAaJJ/btstbcZrycz/tIKiaGUJ4IQZq3bqR06qLK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KAaJJ/btstbcZrycz/tIKiaGUJ4IQZq3bqR06qLK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKAaJJ%2FbtstbcZrycz%2FtIKiaGUJ4IQZq3bqR06qLK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;675&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;타코야끼 흡입하고 편의점 들려서 간식 쇼핑&lt;br /&gt;예전같았으면 아이스크림 + 초콜릿 + 당고 와방방 샀을텐데&lt;br /&gt;요새 먹는거 너무 힘들어서 비타민 음료 + 동생 과자 조금 뺏어먹기&lt;br /&gt;야끼소바 빵 몰랐는데 UFO에서 나온거였다..!&lt;br /&gt;맛있는데 너무 짜..&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;2일차: 나라&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tYcBa/btsteyVqkqY/wmBGCfdjCDixgZkbOrIhR1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tYcBa/btsteyVqkqY/wmBGCfdjCDixgZkbOrIhR1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tYcBa/btsteyVqkqY/wmBGCfdjCDixgZkbOrIhR1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtYcBa%2FbtsteyVqkqY%2FwmBGCfdjCDixgZkbOrIhR1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;671&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;밖으로 햅파이브가 보이는 아주 괜찮은 숙소 뷰&lt;br /&gt;이불 안덮고 너무 춥다고 찡찡거리다 한소리 들었다 ㅎ.ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6yYWv/btstghZTQNQ/7sCaJKLXNQjflrnDX50UNk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6yYWv/btstghZTQNQ/7sCaJKLXNQjflrnDX50UNk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6yYWv/btstghZTQNQ/7sCaJKLXNQjflrnDX50UNk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6yYWv%2FbtstghZTQNQ%2F7sCaJKLXNQjflrnDX50UNk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;504&quot; height=&quot;672&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;편의점에서 아침으로 산 간단한 먹을거리들&lt;br /&gt;밥싫어 인간은 먹을거 고르는게 너무 힘들고요&lt;br /&gt;결정장애 2번을 답답해하는 1번과 3번 ㅋㅎㅋㅎ&lt;br /&gt;내 취향을 알아가는 중이랍니다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;오늘의 일정은 나라  &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdXens/btssYSgYOIu/OnZ49CvRHypsgsP3e6kf61/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdXens/btssYSgYOIu/OnZ49CvRHypsgsP3e6kf61/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdXens/btssYSgYOIu/OnZ49CvRHypsgsP3e6kf61/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdXens%2FbtssYSgYOIu%2FOnZ49CvRHypsgsP3e6kf61%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;524&quot; height=&quot;699&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;열차 맨 앞칸은 처음인데 레일이 보이는게 예뻤다&lt;br /&gt;오즈모 사용방법 좀 익숙해져서 올껄&lt;br /&gt;흔들리는 삼각대로 영상찍다가 휘청 휘청&lt;br /&gt;브이로그 만들고싶어서 쫌쫌따리 영상 클립 모으고 있는데&lt;br /&gt;살릴 수 있을지는 의문&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnGFb1/btsth7CIij8/qU0INNRfsiydiKkhAY1my1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnGFb1/btsth7CIij8/qU0INNRfsiydiKkhAY1my1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnGFb1/btsth7CIij8/qU0INNRfsiydiKkhAY1my1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnGFb1%2Fbtsth7CIij8%2FqU0INNRfsiydiKkhAY1my1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjC610/btstggzU5D0/YTrSwWg3gamjKHUW1OwUT0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjC610/btstggzU5D0/YTrSwWg3gamjKHUW1OwUT0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjC610/btstggzU5D0/YTrSwWg3gamjKHUW1OwUT0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjC610%2FbtstggzU5D0%2FYTrSwWg3gamjKHUW1OwUT0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;나라 도착하자마자 점심거리 구매&lt;br /&gt;감잎으로 싼 생선 초밥이라는데&lt;br /&gt;여기까지 왔으면 한번 먹어줘야지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ECUPf/btss92bGjE7/rxfzDmY2QZmuQCo7WN2UVk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ECUPf/btss92bGjE7/rxfzDmY2QZmuQCo7WN2UVk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ECUPf/btss92bGjE7/rxfzDmY2QZmuQCo7WN2UVk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FECUPf%2Fbtss92bGjE7%2FrxfzDmY2QZmuQCo7WN2UVk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;380&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;그리고 펼쳐지는 사슴&lt;br /&gt;     &lt;br /&gt;&amp;nbsp;&lt;br /&gt;사슴한테 나눠줄 센베 사들고 일단 가방에 숨겨서 들어가는데&lt;br /&gt;앞에서 산 사람이 사슴 몰고다는거 보고 살짝 겁먹었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKnWvV/btstcQvh0tx/1YSHvUuhWUv7K8eFmTuyd1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKnWvV/btstcQvh0tx/1YSHvUuhWUv7K8eFmTuyd1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKnWvV/btstcQvh0tx/1YSHvUuhWUv7K8eFmTuyd1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKnWvV%2FbtstcQvh0tx%2F1YSHvUuhWUv7K8eFmTuyd1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;417&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;미친 더위를 뚫고 오르막길 언덕을 올라서 도착한 동대사&lt;br /&gt;가장 큰 목조 신사였나&lt;br /&gt;여러번의 재건축으로 줄어든 사이즈라고하는데&lt;br /&gt;그래도 거대한걸..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1vS87/btstggNrPin/mnc90Aq3ZWj2KR0nwQNlZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1vS87/btstggNrPin/mnc90Aq3ZWj2KR0nwQNlZK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1vS87/btstggNrPin/mnc90Aq3ZWj2KR0nwQNlZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1vS87%2FbtstggNrPin%2Fmnc90Aq3ZWj2KR0nwQNlZK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;457&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;아빠 설명 없이 구경하기&lt;br /&gt;한자를 못읽으니까 뭔소린지 전혀 모르겠고&lt;br /&gt;그냥 멍 때리기 + 관람&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LMAQl/btsteNydel9/aBuDMRgouI5k1GwwpnIFbk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LMAQl/btsteNydel9/aBuDMRgouI5k1GwwpnIFbk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LMAQl/btsteNydel9/aBuDMRgouI5k1GwwpnIFbk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLMAQl%2FbtsteNydel9%2FaBuDMRgouI5k1GwwpnIFbk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;420&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;오랜만에 느끼는 조용함이라&lt;br /&gt;그냥 걷는 것만으로도 좋은 기분&lt;br /&gt;중간중간 사슴이 나타나서 살짝 무섭지만ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbO0Nu/btstcRgDhnA/FnyhZDk7mb7SXFB05K3wdK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbO0Nu/btstcRgDhnA/FnyhZDk7mb7SXFB05K3wdK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbO0Nu/btstcRgDhnA/FnyhZDk7mb7SXFB05K3wdK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbO0Nu%2FbtstcRgDhnA%2FFnyhZDk7mb7SXFB05K3wdK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;516&quot; height=&quot;387&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;그래도 작은 애들은 귀엽더라&lt;br /&gt;사슴 굽? 소리 듣고싶었는데 그런거 하나도 안들리고&lt;br /&gt;무서워요..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJ1TMw/btss3KQrcxs/ncaYIwjv5XkAlxOEfQaTMK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJ1TMw/btss3KQrcxs/ncaYIwjv5XkAlxOEfQaTMK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJ1TMw/btss3KQrcxs/ncaYIwjv5XkAlxOEfQaTMK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJ1TMw%2Fbtss3KQrcxs%2FncaYIwjv5XkAlxOEfQaTMK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eRV8h9/btss9hmFGkH/kn1w5gH52k5peUW2cvWtt1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eRV8h9/btss9hmFGkH/kn1w5gH52k5peUW2cvWtt1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eRV8h9/btss9hmFGkH/kn1w5gH52k5peUW2cvWtt1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeRV8h9%2Fbtss9hmFGkH%2Fkn1w5gH52k5peUW2cvWtt1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;사슴 없고 사람 없는 조용한 벤치 찾아서 점심 먹으려고 했는데&lt;br /&gt;널린게 사슴이라 밥먹기 좋은 장소 찾는데 조금 힘들었다&lt;br /&gt;버스가 자주 오지 않는 정류장에서 간신히 점심 해결ㅠ ㅠ&lt;br /&gt;&amp;nbsp;&lt;br /&gt;생선 + 신맛 좋아해서 나름 먹을만 했는데&lt;br /&gt;한번 맛본거로 만족!&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4hF28/btsteRm4pJG/GcLWKkA5ZrDzQO7HHRnhWk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4hF28/btsteRm4pJG/GcLWKkA5ZrDzQO7HHRnhWk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4hF28/btsteRm4pJG/GcLWKkA5ZrDzQO7HHRnhWk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4hF28%2FbtsteRm4pJG%2FGcLWKkA5ZrDzQO7HHRnhWk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;538&quot; height=&quot;717&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;원래는 산 ➞ 신사로 갈 예정이었는데&lt;br /&gt;너무 더워서 등산 포기&lt;br /&gt;이미 사슴 피해서 점심먹으로 가는길에 운동 끝냈다..&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EUs1Q/btss3HGazHw/ajn9BTAxQSUuETQC1aMm2K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EUs1Q/btss3HGazHw/ajn9BTAxQSUuETQC1aMm2K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EUs1Q/btss3HGazHw/ajn9BTAxQSUuETQC1aMm2K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEUs1Q%2Fbtss3HGazHw%2Fajn9BTAxQSUuETQC1aMm2K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;417&quot; height=&quot;556&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;등불이 천개정도 있는 신사였나..&lt;br /&gt;암튼 엄청 많음&lt;br /&gt;중간 중간 사슴들이 보이는데&lt;br /&gt;사슴 공원보단 얌전히 있어서 괜찮았다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nes3y/btstfQadBCS/J4klCXMPTsxvzakVdg5kS1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nes3y/btstfQadBCS/J4klCXMPTsxvzakVdg5kS1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nes3y/btstfQadBCS/J4klCXMPTsxvzakVdg5kS1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNes3y%2FbtstfQadBCS%2FJ4klCXMPTsxvzakVdg5kS1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;521&quot; height=&quot;391&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;날씨만 괜찮으면 쭉 돌면서 구경할텐데&lt;br /&gt;이미 지칠대로 지쳐서 적당히 둘러보고 돌아가기&lt;br /&gt;중간에 어떤 커플이 사슴한테 센베주는거 보고 배워서&lt;br /&gt;우리도 인사하고 나눠줬다 ^.^&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GSQ5G/btss3Wjgurx/PgBQIKroQ9VZ4c4sljkF0k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GSQ5G/btss3Wjgurx/PgBQIKroQ9VZ4c4sljkF0k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GSQ5G/btss3Wjgurx/PgBQIKroQ9VZ4c4sljkF0k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGSQ5G%2Fbtss3Wjgurx%2FPgBQIKroQ9VZ4c4sljkF0k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;407&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;여기는 아가 사슴들인지 사람들이 오면 도망가더라&lt;br /&gt;처음엔 겁먹고 들어왔다가&lt;br /&gt;마무리가 좋아서 다들 해삐^^&lt;br /&gt;&amp;nbsp;&lt;br /&gt;내가 오고싶다고 해서 온 곳이라 살짝 걱정했는데&lt;br /&gt;다들 센베 나눠주고 좋아해서 다행이야&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVPe8L/btstaBZrQKV/FkoZzRNxkn8oTTnG7nifAK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVPe8L/btstaBZrQKV/FkoZzRNxkn8oTTnG7nifAK/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVPe8L/btstaBZrQKV/FkoZzRNxkn8oTTnG7nifAK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVPe8L%2FbtstaBZrQKV%2FFkoZzRNxkn8oTTnG7nifAK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kB5yb/btstfl9hSXd/Dqoaz2xNO7P2OF64UXrBOk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kB5yb/btstfl9hSXd/Dqoaz2xNO7P2OF64UXrBOk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kB5yb/btstfl9hSXd/Dqoaz2xNO7P2OF64UXrBOk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkB5yb%2Fbtstfl9hSXd%2FDqoaz2xNO7P2OF64UXrBOk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;잠시 더위 식히러 온 카페&lt;br /&gt;와라비 모찌가 들어있는 흑당 빙수??&lt;br /&gt;빙수 파는 곳은 저렇게 걸어놓은게 너무 귀엽다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cU9JXQ/btsteSzvhxE/LN4QRLLby9KjsuINzYc3UK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cU9JXQ/btsteSzvhxE/LN4QRLLby9KjsuINzYc3UK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cU9JXQ/btsteSzvhxE/LN4QRLLby9KjsuINzYc3UK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcU9JXQ%2FbtsteSzvhxE%2FLN4QRLLby9KjsuINzYc3UK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;516&quot; height=&quot;387&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;근처에 유명한 당고 가게가 있다고 해서 찾아가기&lt;br /&gt;방금 구운 떡 + 달다구리 소스 = &amp;hearts;&lt;br /&gt;일본에 살았으면 돼지가 됬을꺼라는 1번 왈..&lt;br /&gt;인정ㅋ&lt;br /&gt;&amp;nbsp;&lt;br /&gt;다른 유명한 쑥떡집도 가려다가 줄이 엄청 길고&lt;br /&gt;뭔가 한국인 루트 탄거 같아서 가기 싫어졌다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb28a8/btstfRtqe7G/VxKPouiH0DoFLCBGklzUIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb28a8/btstfRtqe7G/VxKPouiH0DoFLCBGklzUIk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb28a8/btstfRtqe7G/VxKPouiH0DoFLCBGklzUIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb28a8%2FbtstfRtqe7G%2FVxKPouiH0DoFLCBGklzUIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;374&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;나라 기념품으로 사슴 유키오 인형 구매&lt;br /&gt;멍청한 얼굴이 너무 맘에 들었어&lt;br /&gt;지역별로 한정 인형을 파는데 하나씩 사가야겠다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFNS9f/btss3HlRE3H/NIKNUx62ozrk9h1aHbbUg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFNS9f/btss3HlRE3H/NIKNUx62ozrk9h1aHbbUg0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFNS9f/btss3HlRE3H/NIKNUx62ozrk9h1aHbbUg0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFNS9f%2Fbtss3HlRE3H%2FNIKNUx62ozrk9h1aHbbUg0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r4Aqr/btss3YnM3EZ/1yGbOQA3QFxhhfmMSavRr0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r4Aqr/btss3YnM3EZ/1yGbOQA3QFxhhfmMSavRr0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r4Aqr/btss3YnM3EZ/1yGbOQA3QFxhhfmMSavRr0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr4Aqr%2Fbtss3YnM3EZ%2F1yGbOQA3QFxhhfmMSavRr0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;저녁으론 츠케멘!! 본고장에서 먹어보자 하고 왔는데&lt;br /&gt;왜 맛 없.. ? 실망ㅠ ㅠ&lt;br /&gt;면은 맛있었는데 애매한 멸치액젓맛이 맘에 안들어&lt;br /&gt;다들 맘에 안들었던 저녁 ㅋㅎㅋㅎ 그냥 배고파서 먹었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgZjvO/btsth89rWKf/4Zapnrh8uJwkUPkGX1BjO0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgZjvO/btsth89rWKf/4Zapnrh8uJwkUPkGX1BjO0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgZjvO/btsth89rWKf/4Zapnrh8uJwkUPkGX1BjO0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgZjvO%2Fbtsth89rWKf%2F4Zapnrh8uJwkUPkGX1BjO0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;528&quot; height=&quot;396&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;집가는 길에 로프트 들려서 구경 + 살 것 정해두기&lt;br /&gt;팝업 스토어로 햄스터 어쩌구 있었는데&lt;br /&gt;귀여운 노래에 아기자기한 디피가 맘에 들었다ㅋㅋ&lt;br /&gt;그치만 살 건 없었고~.~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtgO7d/btss3HzqCGW/P9Kyb4QzLYEQMs7OpB3SUk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtgO7d/btss3HzqCGW/P9Kyb4QzLYEQMs7OpB3SUk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtgO7d/btss3HzqCGW/P9Kyb4QzLYEQMs7OpB3SUk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtgO7d%2Fbtss3HzqCGW%2FP9Kyb4QzLYEQMs7OpB3SUk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;558&quot; height=&quot;419&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;하루의 마무리는 숙소 앞 편의점&lt;br /&gt;가을 한정 군고구마 피노가 있길래 이건 못 참지&lt;br /&gt;     &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3일차: 쇼핑&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6aNWx/btss850Z565/dOHkFuw7cjARfQlaA98B4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6aNWx/btss850Z565/dOHkFuw7cjARfQlaA98B4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6aNWx/btss850Z565/dOHkFuw7cjARfQlaA98B4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6aNWx%2Fbtss850Z565%2FdOHkFuw7cjARfQlaA98B4k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;461&quot; height=&quot;346&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;점심으로 라멘가게를 가려다가 줄 선 한국인을 보고 후퇴&lt;br /&gt;돌아 돌아 다른 집을 찾다가 카레집에 들어왔다&lt;br /&gt;길치 쩡쩡이는 그냥 따라다닐게&lt;br /&gt;앞장 서줘&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VYuDb/btss3EW01Tv/Q9Spy3ZkrU5wTKocMhnmA0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VYuDb/btss3EW01Tv/Q9Spy3ZkrU5wTKocMhnmA0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VYuDb/btss3EW01Tv/Q9Spy3ZkrU5wTKocMhnmA0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVYuDb%2Fbtss3EW01Tv%2FQ9Spy3ZkrU5wTKocMhnmA0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cV7t9o/btss73vBFeH/HrayZaaVKdYldNudXt0T9k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cV7t9o/btss73vBFeH/HrayZaaVKdYldNudXt0T9k/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cV7t9o/btss73vBFeH/HrayZaaVKdYldNudXt0T9k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcV7t9o%2Fbtss73vBFeH%2FHrayZaaVKdYldNudXt0T9k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;치킨 가라아게 | 고등어 우엉 | 스페셜 카레&lt;br /&gt;&amp;nbsp;&lt;br /&gt;3번이 다 맛보더니 스페셜 &amp;gt; 고등어 &amp;gt; 치킨&lt;br /&gt;토핑만 달라지는 줄 알았는데 카레 맛 자체가 다르다고 한다&lt;br /&gt;호지차 들어간 카레라 색다르고 좋았다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmpQFC/btstcRAUyBC/hi8zxMer8G6XnwgaBdqbkK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmpQFC/btstcRAUyBC/hi8zxMer8G6XnwgaBdqbkK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmpQFC/btstcRAUyBC/hi8zxMer8G6XnwgaBdqbkK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmpQFC%2FbtstcRAUyBC%2Fhi8zxMer8G6XnwgaBdqbkK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;480&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;골목 골목이 조용하고 예뻐서 맘에 들어&lt;br /&gt;1번과 3번은 길찾고 더워서 힘들어하는데&lt;br /&gt;조용히 힐링하면서 돌아다니기ㅎ.ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ehgPYT/btss3EQcQAH/ruKYjLrgQ7JsUKZvQUIS40/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ehgPYT/btss3EQcQAH/ruKYjLrgQ7JsUKZvQUIS40/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ehgPYT/btss3EQcQAH/ruKYjLrgQ7JsUKZvQUIS40/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FehgPYT%2Fbtss3EQcQAH%2FruKYjLrgQ7JsUKZvQUIS40%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;399&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;오사카 하면 역시 도톤보리인가..&lt;br /&gt;사람 개많다 진짜  주말이라 더 많은가&lt;br /&gt;다들 이 앞에서 사진찍는데 뒤를 돌면 더 멋있다구&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZaAHR/btstaBrAfZ9/3GehPF3QGCBnqHONr9vPy0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZaAHR/btstaBrAfZ9/3GehPF3QGCBnqHONr9vPy0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZaAHR/btstaBrAfZ9/3GehPF3QGCBnqHONr9vPy0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZaAHR%2FbtstaBrAfZ9%2F3GehPF3QGCBnqHONr9vPy0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;753&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;아무도 안찍는 뒷편 ㅋㅎㅋㅎ&lt;br /&gt;3명이서 돌아다니면서 여긴 다신 안올 것 같다는 느낌 잔뜩&lt;br /&gt;은행동 느낌이라는 3번 말에 모두 끄덕끄덕&lt;br /&gt;우메다 짱짱&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxcjIo/btss9ZMNyhC/8szG73uBSEKcDqSLKkKa80/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxcjIo/btss9ZMNyhC/8szG73uBSEKcDqSLKkKa80/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxcjIo/btss9ZMNyhC/8szG73uBSEKcDqSLKkKa80/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxcjIo%2Fbtss9ZMNyhC%2F8szG73uBSEKcDqSLKkKa80%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;542&quot; height=&quot;723&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;살까 말까 고민했던 타코 동전지갑&lt;br /&gt;쓸데 없는 지출 하기 싫고&lt;br /&gt;동전도 딱히 안쓰니까 그냥 패쓰&lt;br /&gt;귀여운 것만 보면 환장해서 큰일이야&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BphaM/btss9Y1pxrC/MclOKYr4uFB3atIv4ZHAA0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BphaM/btss9Y1pxrC/MclOKYr4uFB3atIv4ZHAA0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BphaM/btss9Y1pxrC/MclOKYr4uFB3atIv4ZHAA0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBphaM%2Fbtss9Y1pxrC%2FMclOKYr4uFB3atIv4ZHAA0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;402&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;돌아다니다가 중고샵 같은 곳도 구경했는데&lt;br /&gt;가격 무슨일..&lt;br /&gt;선물로 사주기엔 조금 부담이라 멈칫ㅎㅎ&lt;br /&gt;중고 물품 선물도 좀 걸려&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk1NXz/btss9A7xxzf/a2nLhEARYkHMN9oD98duLK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk1NXz/btss9A7xxzf/a2nLhEARYkHMN9oD98duLK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk1NXz/btss9A7xxzf/a2nLhEARYkHMN9oD98duLK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk1NXz%2Fbtss9A7xxzf%2Fa2nLhEARYkHMN9oD98duLK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;851&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;미니 갓파바시 느낌의 골목도 들렸다&lt;br /&gt;베이킹 도구 많아서 또 혼절&lt;br /&gt;쿠키틀 + 마들렌 틀 + 등등등&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt; &lt;br /&gt;레몬 모양 틀 사서 만들어달라는 1번&lt;br /&gt;매번 장바구니에 넣어두고&lt;br /&gt;언제 만들지 싶어서 안사고 있는 중ㅠ ㅠ&lt;br /&gt;여유가 생겨야 말이죠,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chTgXn/btsteNSxq6d/dIz18WO8spRFmukLxfMNmk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chTgXn/btsteNSxq6d/dIz18WO8spRFmukLxfMNmk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chTgXn/btsteNSxq6d/dIz18WO8spRFmukLxfMNmk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchTgXn%2FbtsteNSxq6d%2FdIz18WO8spRFmukLxfMNmk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D71JZ/btss839Zqpd/ag0CKwunFxy8o8Qvnixe71/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D71JZ/btss839Zqpd/ag0CKwunFxy8o8Qvnixe71/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D71JZ/btss839Zqpd/ag0CKwunFxy8o8Qvnixe71/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD71JZ%2Fbtss839Zqpd%2Fag0CKwunFxy8o8Qvnixe71%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;쫄래쫄래 걷다가 또 소품 + 문구샵 방문&lt;br /&gt;1번은 이런데 어떻게 찾는건지 싶다&lt;br /&gt;&amp;nbsp;&lt;br /&gt;아기자기하고 사장님 디스플레이 센스가 미쳤다&lt;br /&gt;덕분에 귀여운거 얻어가서 좋아&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lC36o/btstcPQEJ1W/np8QF0nf4Oq8mCNwOrKOR0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lC36o/btstcPQEJ1W/np8QF0nf4Oq8mCNwOrKOR0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lC36o/btstcPQEJ1W/np8QF0nf4Oq8mCNwOrKOR0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlC36o%2FbtstcPQEJ1W%2Fnp8QF0nf4Oq8mCNwOrKOR0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;474&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;로프트에서 못봤던 문구들로 쇼핑하고 나오기&lt;br /&gt;아이패드 쓰면서 문구류 욕심 떨어졌는데&lt;br /&gt;다시 아날로그로 돌아가고 싶게 만드는 쇼핑 ✏️&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTQdp9/btstaBd3pjj/wIn8Q8sVEbo3jMnFlEHuGk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTQdp9/btstaBd3pjj/wIn8Q8sVEbo3jMnFlEHuGk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTQdp9/btstaBd3pjj/wIn8Q8sVEbo3jMnFlEHuGk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTQdp9%2FbtstaBd3pjj%2FwIn8Q8sVEbo3jMnFlEHuGk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;429&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;잠깐 숙소 들려서 짐 정리&lt;br /&gt;중간에 숙소 들릴 수 있어서 매우 편하다&lt;br /&gt;&amp;nbsp;&lt;br /&gt;뭘 사겠다고 계획하고 오면 괜찮은데 그런게 아니라서&lt;br /&gt;쇼핑이 매우 힘들다&lt;br /&gt;&amp;nbsp;&lt;br /&gt;백화점 구경은 이제 별로!&lt;br /&gt;그냥 거리 구경하면서 돌아다니는게 좋아&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blGKl8/btstg3mQzXh/BLH8na4AEnSzLl0ropLWVk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blGKl8/btstg3mQzXh/BLH8na4AEnSzLl0ropLWVk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blGKl8/btstg3mQzXh/BLH8na4AEnSzLl0ropLWVk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblGKl8%2Fbtstg3mQzXh%2FBLH8na4AEnSzLl0ropLWVk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;585&quot; height=&quot;439&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;저녁은 3번째 방문이라는 쿠시카츠&lt;br /&gt;추천받은 메뉴로만 주문했다&lt;br /&gt;보리멸 | 닭고기 | 어묵 | 새우 + 사케&lt;br /&gt;&amp;nbsp;&lt;br /&gt;사케는 조금 마시고 못마시겠어서 패쓰&lt;br /&gt;3번이 거하게 취해버렸다ㅋㅋㅋ&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WIkL7/btss3GAumd3/dCrnssLwjkYDbn2qZFyGO0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WIkL7/btss3GAumd3/dCrnssLwjkYDbn2qZFyGO0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WIkL7/btss3GAumd3/dCrnssLwjkYDbn2qZFyGO0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWIkL7%2Fbtss3GAumd3%2FdCrnssLwjkYDbn2qZFyGO0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;467&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;사람 많은 도톤보리 있다가 우메다 오니까 너무 편안&lt;br /&gt;다들 집에 온 기분이라고 ㅋㅋ&lt;br /&gt;쇼핑몰도 많고 교통도 편리해서&lt;br /&gt;우메다에 숙소를 잡는거? 나쁘지 않다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu1rqL/btss8iMS1np/PEw0QyHkOtAQu1phj5HRK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu1rqL/btss8iMS1np/PEw0QyHkOtAQu1phj5HRK1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu1rqL/btss8iMS1np/PEw0QyHkOtAQu1phj5HRK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu1rqL%2Fbtss8iMS1np%2FPEw0QyHkOtAQu1phj5HRK1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;437&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;편의점 당고도 맛있어  &lt;br /&gt;먹고싶은거 왕왕 많은데 위장이 못버텨서 힘들다ㅠㅠ&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;4일차: 유니버셜 스튜디오&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qFv8H/btsteRABnC9/UTi0EHhIJm6h43A5jkxqU0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qFv8H/btsteRABnC9/UTi0EHhIJm6h43A5jkxqU0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qFv8H/btsteRABnC9/UTi0EHhIJm6h43A5jkxqU0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqFv8H%2FbtsteRABnC9%2FUTi0EHhIJm6h43A5jkxqU0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;517&quot; height=&quot;388&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;  &lt;/b&gt;오늘의 컨셉은 핑크  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8AyVw/btstcNywuMW/2369CJLVFejZcMajpPSdu0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8AyVw/btstcNywuMW/2369CJLVFejZcMajpPSdu0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8AyVw/btstcNywuMW/2369CJLVFejZcMajpPSdu0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8AyVw%2FbtstcNywuMW%2F2369CJLVFejZcMajpPSdu0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;761&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;유니버셜 오픈런으로 입장하기&lt;br /&gt;월요일 + 흐린 날씨 예보&lt;br /&gt;그럼에도 사람 와방방 많음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWnBTD/btss9h74QFX/Z2Pr30HAZvpTXt9KossUQ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWnBTD/btss9h74QFX/Z2Pr30HAZvpTXt9KossUQ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWnBTD/btss9h74QFX/Z2Pr30HAZvpTXt9KossUQ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWnBTD%2Fbtss9h74QFX%2FZ2Pr30HAZvpTXt9KossUQ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;411&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;생각보다 빨리 입장해서 굿즈샵부터 쭉 둘러보기&lt;br /&gt;할로윈 시즌으로 나온 팀 + 고양이 귀 머리띠 사려다가&lt;br /&gt;1번과 3번이 갸루같다고 해서 패쓰&lt;br /&gt;스누피 머리띠도 귀여운데 혼자 하는거 별로라 패쓰&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vgX7s/btsteMMR0ZU/LHE5dnCOlEL3KnH8wMUnO1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vgX7s/btsteMMR0ZU/LHE5dnCOlEL3KnH8wMUnO1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vgX7s/btsteMMR0ZU/LHE5dnCOlEL3KnH8wMUnO1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvgX7s%2FbtsteMMR0ZU%2FLHE5dnCOlEL3KnH8wMUnO1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;2268&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;진짜 게임 세상처럼 만들긴 했더라&lt;br /&gt;근데 마리오 관심 없어서 별 감흥 ㄴㄴ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHRlsa/btssYVdGR1o/siJBAqdPk87icXI2xedUPk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHRlsa/btssYVdGR1o/siJBAqdPk87icXI2xedUPk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHRlsa/btssYVdGR1o/siJBAqdPk87icXI2xedUPk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHRlsa%2FbtssYVdGR1o%2FsiJBAqdPk87icXI2xedUPk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2BMBL/btss85Nt1kF/9C3g8Z5v927aBYsryk8kH1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2BMBL/btss85Nt1kF/9C3g8Z5v927aBYsryk8kH1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2BMBL/btss85Nt1kF/9C3g8Z5v927aBYsryk8kH1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2BMBL%2Fbtss85Nt1kF%2F9C3g8Z5v927aBYsryk8kH1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;어트랙션 하나 타주고 굿즈샵 구경해주기&lt;br /&gt;바나나는 좀 탐나긴 했는데&lt;br /&gt;컨셉을 지키키로 했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xwSOK/btstffORd4b/uYSM1r1nESMdFK3gC2Ecr1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xwSOK/btstffORd4b/uYSM1r1nESMdFK3gC2Ecr1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xwSOK/btstffORd4b/uYSM1r1nESMdFK3gC2Ecr1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxwSOK%2FbtstffORd4b%2FuYSM1r1nESMdFK3gC2Ecr1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;547&quot; height=&quot;410&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;어트랙션 하나 더 타고 나오니까 마리오랑 루이지가 반겨주는 중&lt;br /&gt;둘러보다가 사진찍고 마리오 월드랑 바이바이  &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mgv1g/btstg468wlW/BJxbIaSlKYKmJjSe7kEMb0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mgv1g/btstg468wlW/BJxbIaSlKYKmJjSe7kEMb0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mgv1g/btstg468wlW/BJxbIaSlKYKmJjSe7kEMb0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmgv1g%2Fbtstg468wlW%2FBJxbIaSlKYKmJjSe7kEMb0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;491&quot; height=&quot;368&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;언제봐도 감동적인 호그와트&lt;br /&gt;처음 왔을 때 너무 신나서 뛰어다니다가 핸드폰을 뿌셔먹었지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdjESF/btss91YanW3/pO9JSqqakwxky0BxCXPQtk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdjESF/btss91YanW3/pO9JSqqakwxky0BxCXPQtk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdjESF/btss91YanW3/pO9JSqqakwxky0BxCXPQtk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdjESF%2Fbtss91YanW3%2FpO9JSqqakwxky0BxCXPQtk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;660&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;어트랙션 타러 가는 길&lt;br /&gt;뭐가 보이냐는 1번의 질문에&lt;br /&gt; &lt;br /&gt;&quot;내가 보이네ㅎ&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZiyS6/btstcQPw8j8/kMLWQRpHoWaTx2aCtFbAJk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZiyS6/btstcQPw8j8/kMLWQRpHoWaTx2aCtFbAJk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZiyS6/btstcQPw8j8/kMLWQRpHoWaTx2aCtFbAJk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZiyS6%2FbtstcQPw8j8%2FkMLWQRpHoWaTx2aCtFbAJk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;424&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;해리포터 정주행 하고싶다&lt;br /&gt;유일하게 책 + DVD로 소장하고 있는 시리즈물&lt;br /&gt;다음번엔 기숙사 컨셉으로 입고와서 놀아야지 매번 다짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GIHeM/btstgiYMl7b/M4WiQlABiGdjOgg2VF1cmk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GIHeM/btstgiYMl7b/M4WiQlABiGdjOgg2VF1cmk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GIHeM/btstgiYMl7b/M4WiQlABiGdjOgg2VF1cmk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGIHeM%2FbtstgiYMl7b%2FM4WiQlABiGdjOgg2VF1cmk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;465&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;지팡이 가게도 새로 생기고&lt;br /&gt;밖에서 휘두르면 움직이는?&lt;br /&gt;신기술도 많이 생겼다고 3번이 알려줬다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cH4ONq/btssYUsgKSz/lmAWcJhBNIIoZR15XxIRA1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cH4ONq/btssYUsgKSz/lmAWcJhBNIIoZR15XxIRA1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cH4ONq/btssYUsgKSz/lmAWcJhBNIIoZR15XxIRA1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcH4ONq%2FbtssYUsgKSz%2FlmAWcJhBNIIoZR15XxIRA1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;795&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;잠깐 앉아서 쉬고 있었는데 올빼미 집배원 있는 곳이었다..!&lt;br /&gt;디테일한 컨셉들이 오덕의 마음을 울린다구ㅜㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/33pjP/btsteA6LhFE/2RsIZAsWdZGhCKUw1c04N1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/33pjP/btsteA6LhFE/2RsIZAsWdZGhCKUw1c04N1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/33pjP/btsteA6LhFE/2RsIZAsWdZGhCKUw1c04N1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F33pjP%2FbtsteA6LhFE%2F2RsIZAsWdZGhCKUw1c04N1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;437&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;위즐리 형제의 장난감 가게&lt;br /&gt;종합 감기약 세트 이런거 기대했는데&lt;br /&gt;그건 안보이더라ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/smJp3/btstfQVAB7h/2vtucVlRUmd2IXopUcTx8k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/smJp3/btstfQVAB7h/2vtucVlRUmd2IXopUcTx8k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/smJp3/btstfQVAB7h/2vtucVlRUmd2IXopUcTx8k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsmJp3%2FbtstfQVAB7h%2F2vtucVlRUmd2IXopUcTx8k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;547&quot; height=&quot;410&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;입구에 있는 자동차랑 인사하고 해리포터랑도 바이바이&lt;br /&gt;키링으로 자동차 팔던데 살까 고민했다가 패쓰&lt;br /&gt;&amp;nbsp;&lt;br /&gt;이번 유니버셜의 목적은 오로지 TIM 이라서&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Mnu3y/btstey2egNM/ymd2gynVheDvqTbZ9VIj6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Mnu3y/btstey2egNM/ymd2gynVheDvqTbZ9VIj6k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Mnu3y/btstey2egNM/ymd2gynVheDvqTbZ9VIj6k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMnu3y%2Fbtstey2egNM%2Fymd2gynVheDvqTbZ9VIj6k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;588&quot; height=&quot;784&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;돌아다니다가 길가 정리하길래 퍼레이드 하나보다 해서 기다리기&lt;br /&gt;유니버셜에서 퍼레이드는 처음인거 같은데&lt;br /&gt;디즈니랑은 다른 느낌&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFulbD/btsth7CIiCI/HCMJOYrVnQyUhtoSs9Rsg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFulbD/btsth7CIiCI/HCMJOYrVnQyUhtoSs9Rsg0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFulbD/btsth7CIiCI/HCMJOYrVnQyUhtoSs9Rsg0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFulbD%2Fbtsth7CIiCI%2FHCMJOYrVnQyUhtoSs9Rsg0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEIba5/btssYUFPSAH/jR4avutEV8DxKCymbQEO40/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEIba5/btssYUFPSAH/jR4avutEV8DxKCymbQEO40/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEIba5/btssYUFPSAH/jR4avutEV8DxKCymbQEO40/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEIba5%2FbtssYUFPSAH%2FjR4avutEV8DxKCymbQEO40%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;  미 니 언 월 드  &lt;br /&gt;어트랙션도 너무 귀엽고 재밌고 미쳤다&lt;br /&gt;사고싶은거 너무 많아서 고민하니까&lt;br /&gt;3번이 자기가 하나 사줄테니까 아무거나 고르라는데&lt;br /&gt;월급 받았어 임마.. 내가 살꺼야&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MLqRX/btstfcEAkvj/MQkOL2ehWcUCAZQ0QiDnJK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MLqRX/btstfcEAkvj/MQkOL2ehWcUCAZQ0QiDnJK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MLqRX/btstfcEAkvj/MQkOL2ehWcUCAZQ0QiDnJK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMLqRX%2FbtstfcEAkvj%2FMQkOL2ehWcUCAZQ0QiDnJK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;530&quot; height=&quot;707&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;힘든 유니버셜 일정이었다&lt;br /&gt;쥬라기 못 탄건 아쉽지만&lt;br /&gt;나름 탈 거 다 타고 나와서 매우 만족&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q0oV4/btsteMeZi1X/XiIaGBHvyTCHPPyK1GQNP1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q0oV4/btsteMeZi1X/XiIaGBHvyTCHPPyK1GQNP1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q0oV4/btsteMeZi1X/XiIaGBHvyTCHPPyK1GQNP1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq0oV4%2FbtsteMeZi1X%2FXiIaGBHvyTCHPPyK1GQNP1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wwxjl/btss72jblAj/yy6E5YtujYonRJRKs8MXsK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wwxjl/btss72jblAj/yy6E5YtujYonRJRKs8MXsK/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wwxjl/btss72jblAj/yy6E5YtujYonRJRKs8MXsK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWwxjl%2Fbtss72jblAj%2Fyy6E5YtujYonRJRKs8MXsK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;저녁으로 오코노미야끼 + 야끼소바 과식&lt;br /&gt;3번이 일본어로 주문하는데 잘하더라..?&lt;br /&gt;방문한 날 계란 서비스를 줘서 메뉴마다 추가된 타마고  &lt;br /&gt;배부르게 먹고 숙소 와서 뻗어버리기&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5일차: 교토&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r5M2X/btss72Khcad/nD12eyghLJNI7dthV6TZ21/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r5M2X/btss72Khcad/nD12eyghLJNI7dthV6TZ21/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r5M2X/btss72Khcad/nD12eyghLJNI7dthV6TZ21/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr5M2X%2Fbtss72Khcad%2FnD12eyghLJNI7dthV6TZ21%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;386&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;열차길이 매우 멋지다&lt;br /&gt;이것만 찍으러 다니는 사람 있는거 이해가 될지도&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;2250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kRnnR/btstpFOlR4w/OUgXD1quAeXQCpXlUBnmm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kRnnR/btstpFOlR4w/OUgXD1quAeXQCpXlUBnmm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kRnnR/btstpFOlR4w/OUgXD1quAeXQCpXlUBnmm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkRnnR%2FbtstpFOlR4w%2FOUgXD1quAeXQCpXlUBnmm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;407&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;2250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;갈수록 피곤해하는 3번아&lt;br /&gt;모지리 2번 챙기느라 고생이 많다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wpI2E/btstgji5P6z/q5UVSpf114jkvdB8mVBKuk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wpI2E/btstgji5P6z/q5UVSpf114jkvdB8mVBKuk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wpI2E/btstgji5P6z/q5UVSpf114jkvdB8mVBKuk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwpI2E%2Fbtstgji5P6z%2Fq5UVSpf114jkvdB8mVBKuk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;604&quot; height=&quot;453&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;교토로 갈수록 펼쳐지는 시골 풍경&lt;br /&gt;교토 = 경주랑 비슷한 느낌이랄까&lt;br /&gt;저번에 왔을때 제대로 둘러보질 못해서 살짝 기대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RSWr5/btstgfViOYF/xkAqouyWyBPtbmEX77kKUK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RSWr5/btstgfViOYF/xkAqouyWyBPtbmEX77kKUK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RSWr5/btstgfViOYF/xkAqouyWyBPtbmEX77kKUK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRSWr5%2FbtstgfViOYF%2FxkAqouyWyBPtbmEX77kKUK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;429&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;버스 패스를 사면 아주 편하게 둘러볼 수 있는데&lt;br /&gt;한번 타고 잃어버렸죠??&lt;br /&gt;버스 탈 때마다 멍청비용 소리 들으면서 사과하기&lt;br /&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu5Om2/btsteBdyZde/29MElVKbOs6oWmpWOQYUxk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu5Om2/btsteBdyZde/29MElVKbOs6oWmpWOQYUxk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu5Om2/btsteBdyZde/29MElVKbOs6oWmpWOQYUxk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu5Om2%2FbtsteBdyZde%2F29MElVKbOs6oWmpWOQYUxk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;420&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;진짜 기억이 하나도 안나는&lt;br /&gt;은각사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bza11R/btstbfhz91E/NUjGkkNkCJZ0oAATXO1qSK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bza11R/btstbfhz91E/NUjGkkNkCJZ0oAATXO1qSK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bza11R/btstbfhz91E/NUjGkkNkCJZ0oAATXO1qSK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbza11R%2Fbtstbfhz91E%2FNUjGkkNkCJZ0oAATXO1qSK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F7IwW/btstgjcjp6e/3NYZN2dZqOcmNpC4mWD1rk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F7IwW/btstgjcjp6e/3NYZN2dZqOcmNpC4mWD1rk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F7IwW/btstgjcjp6e/3NYZN2dZqOcmNpC4mWD1rk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF7IwW%2Fbtstgjcjp6e%2F3NYZN2dZqOcmNpC4mWD1rk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;2268&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;더워서 조금 힘들었는데&lt;br /&gt;진짜 예쁘다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYhWch/btss9z8BgXJ/N2EIYTWCmPfVSLgkCIhUx1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYhWch/btss9z8BgXJ/N2EIYTWCmPfVSLgkCIhUx1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYhWch/btss9z8BgXJ/N2EIYTWCmPfVSLgkCIhUx1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYhWch%2Fbtss9z8BgXJ%2FN2EIYTWCmPfVSLgkCIhUx1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;549&quot; height=&quot;412&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;수학여행인지 교복입은 학생들이 많았다&lt;br /&gt;골목골목마다 길이 너무 예쁜 교토&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xlQ9y/btss3IylS8k/KKn0Wmk6wjLWH0eKHilvD0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xlQ9y/btss3IylS8k/KKn0Wmk6wjLWH0eKHilvD0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xlQ9y/btss3IylS8k/KKn0Wmk6wjLWH0eKHilvD0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxlQ9y%2Fbtss3IylS8k%2FKKn0Wmk6wjLWH0eKHilvD0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mpN2u/btsteQV0WyD/ckpwmyyvE562Mffu7hqyW0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mpN2u/btsteQV0WyD/ckpwmyyvE562Mffu7hqyW0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mpN2u/btsteQV0WyD/ckpwmyyvE562Mffu7hqyW0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmpN2u%2FbtsteQV0WyD%2FckpwmyyvE562Mffu7hqyW0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;은각사에서 내려가는 길에 예쁜 소품샵이 있길래 방문&lt;br /&gt;손수건? 사용법을 그려놓은게 너무 귀여워&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLUC1d/btstayVT38b/psNnMce8ZWMTPHKq3RZP2k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLUC1d/btstayVT38b/psNnMce8ZWMTPHKq3RZP2k/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLUC1d/btstayVT38b/psNnMce8ZWMTPHKq3RZP2k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLUC1d%2FbtstayVT38b%2FpsNnMce8ZWMTPHKq3RZP2k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6Qsml/btstg1CzbeC/x7VmnzmKiVFBm2Z2sLoskk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6Qsml/btstg1CzbeC/x7VmnzmKiVFBm2Z2sLoskk/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6Qsml/btstg1CzbeC/x7VmnzmKiVFBm2Z2sLoskk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6Qsml%2Fbtstg1CzbeC%2Fx7VmnzmKiVFBm2Z2sLoskk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;점심으로는 오니기리와 절인 오이&lt;br /&gt;밥은 딱히 먹고싶지 않아서 고른 오이였는데&lt;br /&gt;너무 내 취향  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQBy6f/btsteMTCwcB/dsfM0lr09J7zqOZnZP5cYk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQBy6f/btsteMTCwcB/dsfM0lr09J7zqOZnZP5cYk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQBy6f/btsteMTCwcB/dsfM0lr09J7zqOZnZP5cYk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQBy6f%2FbtsteMTCwcB%2FdsfM0lr09J7zqOZnZP5cYk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;465&quot; height=&quot;620&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;교토 명물 먹거리 뿌시기 완료 ✅&lt;br /&gt;생선도 먹어보라는 1번과 3번&lt;br /&gt;내장은 조금 부담스러워&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caucKp/btssYU6RISX/7gPOmTXimJuXdLJrflkEM0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caucKp/btssYU6RISX/7gPOmTXimJuXdLJrflkEM0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caucKp/btssYU6RISX/7gPOmTXimJuXdLJrflkEM0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaucKp%2FbtssYU6RISX%2F7gPOmTXimJuXdLJrflkEM0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;417&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;교토 유키오도 구매 완료 ✅&lt;br /&gt;무녀 옷을 입은 여우 + 기와 모양 센베&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEtIvS/btss9ZlF3MA/4xaBV4yLA8lV8bepTlJOf0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEtIvS/btss9ZlF3MA/4xaBV4yLA8lV8bepTlJOf0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEtIvS/btss9ZlF3MA/4xaBV4yLA8lV8bepTlJOf0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEtIvS%2Fbtss9ZlF3MA%2F4xaBV4yLA8lV8bepTlJOf0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;내려가는 길에 동전지갑 가게가 있었는데&lt;br /&gt;1번이 고민하길래 저번에 못 준 생일선물 사준다고 했다&lt;br /&gt;모두의 의견을 모아서 귀여운거로 구매 ✅&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ehDQB0/btstcOxr3Ue/ghrdxTJLKKpTjyGP1233O1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ehDQB0/btstcOxr3Ue/ghrdxTJLKKpTjyGP1233O1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ehDQB0/btstcOxr3Ue/ghrdxTJLKKpTjyGP1233O1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FehDQB0%2FbtstcOxr3Ue%2FghrdxTJLKKpTjyGP1233O1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;524&quot; height=&quot;393&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;☀️&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;☀️&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;☀️&lt;br /&gt;날씨가 멋졌던 금각사&lt;br /&gt;연못에 비치는게 예뻤고 날씨는 너무 더웠고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H4aJc/btsteATfR8E/QKuoWD1b9oHUgE2K8flcd0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H4aJc/btsteATfR8E/QKuoWD1b9oHUgE2K8flcd0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H4aJc/btsteATfR8E/QKuoWD1b9oHUgE2K8flcd0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH4aJc%2FbtsteATfR8E%2FQKuoWD1b9oHUgE2K8flcd0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnRVGe/btstfk3Diko/xfvHoDdgAInSa6JPtlr9GK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnRVGe/btstfk3Diko/xfvHoDdgAInSa6JPtlr9GK/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnRVGe/btstfk3Diko/xfvHoDdgAInSa6JPtlr9GK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnRVGe%2Fbtstfk3Diko%2FxfvHoDdgAInSa6JPtlr9GK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;교토 오면 녹차 디저트 뿌수기 하려고 했는데&lt;br /&gt;마땅한 카페를 찾을 수가 없어서 그냥 버스 환승지에서 아무데나 들어가기&lt;br /&gt;여기서도 오이를 볼 수 있는게 재밌네&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NV6rL/btss86yOwtP/7iXkFCivHM8gMLzYk8ZmQ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NV6rL/btss86yOwtP/7iXkFCivHM8gMLzYk8ZmQ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NV6rL/btss86yOwtP/7iXkFCivHM8gMLzYk8ZmQ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNV6rL%2Fbtss86yOwtP%2F7iXkFCivHM8gMLzYk8ZmQ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;473&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;모두가 내린 버스&lt;br /&gt;++ 멍청 비용 ++&lt;br /&gt;대나무 숲 구경갑니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zfS36/btstg5EYfqX/ickMMPJ7i5O2wYgsUHjOw1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zfS36/btstg5EYfqX/ickMMPJ7i5O2wYgsUHjOw1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zfS36/btstg5EYfqX/ickMMPJ7i5O2wYgsUHjOw1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzfS36%2Fbtstg5EYfqX%2FickMMPJ7i5O2wYgsUHjOw1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;384&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;대나무 숲길 쭉 돌아다니고&lt;br /&gt;교토 주택마을 산책하고 돌아가는길에 발견한 100엔 자판기&lt;br /&gt;ㅋㅋㅋ&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYd9FG/btsth5ESJoU/blXIUIpEQkJUfKYVdXzWuK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYd9FG/btsth5ESJoU/blXIUIpEQkJUfKYVdXzWuK/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYd9FG/btsth5ESJoU/blXIUIpEQkJUfKYVdXzWuK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYd9FG%2Fbtsth5ESJoU%2FblXIUIpEQkJUfKYVdXzWuK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rlLX6/btss9AGuRVU/rEYw4Znz3wDZhpIaR43QF0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rlLX6/btss9AGuRVU/rEYw4Znz3wDZhpIaR43QF0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rlLX6/btss9AGuRVU/rEYw4Znz3wDZhpIaR43QF0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrlLX6%2Fbtss9AGuRVU%2FrEYw4Znz3wDZhpIaR43QF0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;한국인이 많이 보이는 소우소우 마을&lt;br /&gt;목적은 가방이었는데 파우치랑 손수건이 더 이쁜게 많더라&lt;br /&gt;마감시간 막바지에 도착해서 구매 ✅&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IhSA8/btstgjcjpP6/TzmVMwW4b0pWePviZcfAUk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IhSA8/btstgjcjpP6/TzmVMwW4b0pWePviZcfAUk/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IhSA8/btstgjcjpP6/TzmVMwW4b0pWePviZcfAUk/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIhSA8%2FbtstgjcjpP6%2FTzmVMwW4b0pWePviZcfAUk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ItUsl/btss848RiWV/w1E7DxT2RtNTIB3MkQNg6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ItUsl/btss848RiWV/w1E7DxT2RtNTIB3MkQNg6k/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ItUsl/btss848RiWV/w1E7DxT2RtNTIB3MkQNg6k/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FItUsl%2Fbtss848RiWV%2Fw1E7DxT2RtNTIB3MkQNg6k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;우메다로 돌아가서 저녁을 먹기엔 시간이 애매해 근처 라멘집 방문&lt;br /&gt;깔끔한 주방에 다들 감탄.. 어떻게 저렇게 관리했지?&lt;br /&gt;기름 자국 하나도 없음 &amp;amp; 스텐 조리도구 개깔끔함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tFC1x/btsteOqlYeg/qmhzq3PGMEhoKKu7HIaoc0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tFC1x/btsteOqlYeg/qmhzq3PGMEhoKKu7HIaoc0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tFC1x/btsteOqlYeg/qmhzq3PGMEhoKKu7HIaoc0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtFC1x%2FbtsteOqlYeg%2Fqmhzq3PGMEhoKKu7HIaoc0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;460&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;토마토 카레 라멘인데 똠양꿍 + 락사의 느낌이 나는 독특한 맛..?&lt;br /&gt;일본인보다 외국인이 많은게 신기&lt;br /&gt;심지어 사장님 영어 굉장히 잘하신다..&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/likxf/btsts1h6uqt/3EED2GGdXHWL9I67zaJxy1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/likxf/btsts1h6uqt/3EED2GGdXHWL9I67zaJxy1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/likxf/btsts1h6uqt/3EED2GGdXHWL9I67zaJxy1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flikxf%2Fbtsts1h6uqt%2F3EED2GGdXHWL9I67zaJxy1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;635&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;숙소 돌아와서 유키오 모음집 찰칵  &lt;br /&gt;멍청한 얼굴이 매우 맘에 든다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;6일차: &amp;nbsp;쇼핑 &amp;amp; 먹방&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. 초밥&lt;/b&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K7TpB/btstlm9aYix/UYPsuTRGmqQ3LU47yIkl50/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K7TpB/btstlm9aYix/UYPsuTRGmqQ3LU47yIkl50/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 32.55814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K7TpB/btstlm9aYix/UYPsuTRGmqQ3LU47yIkl50/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK7TpB%2Fbtstlm9aYix%2FUYPsuTRGmqQ3LU47yIkl50%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PfSAR/btstlmnMgeR/ZIIRwn1ZVZd6DT3bViMmV0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PfSAR/btstlmnMgeR/ZIIRwn1ZVZd6DT3bViMmV0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 32.55814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PfSAR/btstlmnMgeR/ZIIRwn1ZVZd6DT3bViMmV0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPfSAR%2FbtstlmnMgeR%2FZIIRwn1ZVZd6DT3bViMmV0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w6FxG/btstq0cVF93/P44gazJaJvAJN4nsdGqGI1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w6FxG/btstq0cVF93/P44gazJaJvAJN4nsdGqGI1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 32.55814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w6FxG/btstq0cVF93/P44gazJaJvAJN4nsdGqGI1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw6FxG%2Fbtstq0cVF93%2FP44gazJaJvAJN4nsdGqGI1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;오픈런으로 방문!&lt;br /&gt;각자의 취향이 보이는 다른 메뉴들&lt;br /&gt;&amp;nbsp;&lt;br /&gt;지하에 있는 서서 먹는 가게였는데&lt;br /&gt;원래 가려던 곳보다 훨씬 낫다며 다들 만족&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;2. 551 호라이 만두&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ck9esN/btstrNqSdX0/k4APqJ9xuENstiaB01eLB0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ck9esN/btstrNqSdX0/k4APqJ9xuENstiaB01eLB0/img.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; style=&quot;width: 35.581394%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ck9esN/btstrNqSdX0/k4APqJ9xuENstiaB01eLB0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fck9esN%2FbtstrNqSdX0%2Fk4APqJ9xuENstiaB01eLB0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CiLhJ/btsth8czSK2/WhEFSA86nu07y9TyiaW0xK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CiLhJ/btsth8czSK2/WhEFSA86nu07y9TyiaW0xK/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 63.255814%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CiLhJ/btsth8czSK2/WhEFSA86nu07y9TyiaW0xK/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCiLhJ%2Fbtsth8czSK2%2FWhEFSA86nu07y9TyiaW0xK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;오사카에만 있는 프랜차이즈 만두집&lt;br /&gt;일본까지 와서 무슨 만두인가 싶었는데&lt;br /&gt;의외로 3번이 굉장히 기대하더라..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PLcN3/btstkWv9AZl/niypEjWskaarx3Z0Kdg0Z1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PLcN3/btstkWv9AZl/niypEjWskaarx3Z0Kdg0Z1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PLcN3/btstkWv9AZl/niypEjWskaarx3Z0Kdg0Z1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPLcN3%2FbtstkWv9AZl%2FniypEjWskaarx3Z0Kdg0Z1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;425&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;부타만 | 새우 슈마이 | 아마스 당고&lt;br /&gt;내가 고른 당고 다들 왜먹냐 라고 했지만 제일 맛있다고^^&lt;br /&gt;새우 슈마이는 그냥 익숙한 맛이라 별로&lt;br /&gt;남긴 만두는 공항가서 냠냠&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3. 타코야끼&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1OvBj/btstsNYs0BA/IAkpbNYD7o2UhV4jfKk5S1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1OvBj/btstsNYs0BA/IAkpbNYD7o2UhV4jfKk5S1/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1OvBj/btstsNYs0BA/IAkpbNYD7o2UhV4jfKk5S1/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1OvBj%2FbtstsNYs0BA%2FIAkpbNYD7o2UhV4jfKk5S1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brZJ6p/btsts6ReE5a/n5YOJ0E6ng7tqM2nGohrx0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brZJ6p/btsts6ReE5a/n5YOJ0E6ng7tqM2nGohrx0/img.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; style=&quot;width: 49.418606%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brZJ6p/btsts6ReE5a/n5YOJ0E6ng7tqM2nGohrx0/img.jpg&quot; alt=&quot;&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrZJ6p%2Fbtsts6ReE5a%2Fn5YOJ0E6ng7tqM2nGohrx0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;남다른 사이즈의 타코야끼&lt;br /&gt;1번이 꼭 먹어야한다면서 5알만 구매 (+ 파 추가)&lt;br /&gt;개뜨겁지만 맛있다&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nE5Ca/btstmHd8cN3/BbDYFU5xjFmHAcV5eSkacK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nE5Ca/btstmHd8cN3/BbDYFU5xjFmHAcV5eSkacK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nE5Ca/btstmHd8cN3/BbDYFU5xjFmHAcV5eSkacK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnE5Ca%2FbtstmHd8cN3%2FBbDYFU5xjFmHAcV5eSkacK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;425&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;6일동안 즐거웠다&lt;br /&gt;병든 쩡쩡이 데리고 다니느라 고생했어&lt;br /&gt;1번과 3번&lt;br /&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coqRYD/btstq8IN6FU/lkeqEDLObMka6duVrXHCj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coqRYD/btstq8IN6FU/lkeqEDLObMka6duVrXHCj1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coqRYD/btstq8IN6FU/lkeqEDLObMka6duVrXHCj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoqRYD%2Fbtstq8IN6FU%2FlkeqEDLObMka6duVrXHCj1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;552&quot; height=&quot;414&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;덕분에 스트레스 풀고&lt;br /&gt;개강을 버틸 힘을 얻고 갑니다&lt;br /&gt;열심히 살고 또 놀아야지&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;공항 도착해서 캐리어를 뒤바꿔가는 미친놈까지^^&lt;br /&gt;아주 재밌고 다양한 일들이 많은 여행&lt;br /&gt;막학기 부지런하고 후회없이 살아보자고&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;⸝ဗီူ⸜&lt;br /&gt;☁️&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>✈️ 도비는 여행중/  JAPAN</category>
      <category>개강</category>
      <category>교토</category>
      <category>나라</category>
      <category>오사카</category>
      <category>우메다</category>
      <category>일본여행</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/95</guid>
      <comments>https://paatata.tistory.com/95#entry95comment</comments>
      <pubDate>Fri, 8 Sep 2023 15:27:14 +0900</pubDate>
    </item>
    <item>
      <title>Time Series Data &amp;gt; Machine Learning</title>
      <link>https://paatata.tistory.com/93</link>
      <description>&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;[과정 이해하기]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;1. Merge&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;FRT와 Motion data의 시간 동기화 &amp;gt; 병합 &amp;gt; 하나의 보행 데이터 파일 생성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;merge_Files_in_Folders(DIR_Src = Dataset/2022_11_10)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;┗ create a folder for the merged files&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;원래 폴더명에 _M을 붙어서 새로운 폴더를 만들어&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;list of devices = [shadow, hs_server]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;2. Labelling&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;보행 데이터의 정보 이용해 마지막 col 에 'TAG' 부여&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;label_config &amp;gt; shadowdata | smartinsoldata&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;3. FeatureSelection&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;'feature_config_xlsx' 이용해 라벨링된 데이터로부터 특징 재정렬 &amp;gt; 데이터 파일로 저장 &amp;gt; 특징 설정별로 폴더 생성해 데이터 관리&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;feature_config &amp;gt; class | IMU | SmartInsole | JointEncoder | ShadowMocap&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;4. Split&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;병합된 파일 이용해 K-Fold CV 기법 적용해 폴더 구성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;5. Learning SW&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;특징별로 구성된 폴더와 'training_config.xlsx' 파일 이용한 신경망 학습 &amp;gt; 결과 파일 생성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;training_config &amp;gt; case | Window size | Window step | Prediction Step | LSTM_Units | Epoch | batch size&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;training_config 파일 읽어 &amp;gt; Case 파악 &amp;gt; 폴더의 위치를 리스트로 관리&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. data reshape&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(time * window size * features) &amp;gt; (time * features * window size)&lt;span style=&quot;color: #9d9d9d; text-align: left;&quot;&gt; window size = sliding window&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;&amp;bull;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;16 | 32 | 64 | 128 조절&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;&amp;bull; pathience = 5 : 10 ~ 12 epoch 에서 early stopping&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: left;&quot;&gt;+ shape 변경 이유는 딱히 없음 &amp;gt; 이게 맞을 것 같다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: left;&quot;&gt;++ Data 수가 적으면 모델이 복잡한게 좋을거에요.. &amp;lt;&amp;lt; 데이터가 많으니까 단순한 모델 사용&lt;/span&gt;&lt;span style=&quot;color: #ee2323; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;윈도우 크기가 연산 속도 및 변이 구간에서의 예측 성능에 영향&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 동작과 동작 사이의 변이 구간을 어떻게 레이블링하느냐에 따라 달라져&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Figure_1.png&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qczzb/btssAKiokXD/WYfqmrbVkBPQrKqVTQUQFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qczzb/btssAKiokXD/WYfqmrbVkBPQrKqVTQUQFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qczzb/btssAKiokXD/WYfqmrbVkBPQrKqVTQUQFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqczzb%2FbtssAKiokXD%2FWYfqmrbVkBPQrKqVTQUQFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;444&quot; height=&quot;333&quot; data-filename=&quot;Figure_1.png&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;EX_ 걷는 동작 &amp;gt;&amp;gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;변이 구간&lt;/span&gt; &amp;gt;&amp;gt; 허리 숙이기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;window size 작으면 변이 구간 포착 쉬워 &amp;gt; 잘 예측&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;window size 크면 다양한 동작들 중 어떤 걸로 예측할지 몰라 성능 오히려 안좋아질 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Data Augment&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boVdbv/btssBprhtYP/xnNwhLUWckcNkQ5WdQl1Bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boVdbv/btssBprhtYP/xnNwhLUWckcNkQ5WdQl1Bk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;710&quot; data-filename=&quot;edited_화면 캡처 2023-08-30 142845.png&quot; data-widthpercent=&quot;44.81&quot; style=&quot;width: 44.2893%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boVdbv/btssBprhtYP/xnNwhLUWckcNkQ5WdQl1Bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboVdbv%2FbtssBprhtYP%2FxnNwhLUWckcNkQ5WdQl1Bk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1328&quot; height=&quot;710&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m6zHy/btssAAmmD4c/kPRFtNlZSjX4Ins1XkpltK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m6zHy/btssAAmmD4c/kPRFtNlZSjX4Ins1XkpltK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;573&quot; data-filename=&quot;edited_화면 캡처 2023-08-30 142411.png&quot; data-widthpercent=&quot;55.19&quot; style=&quot;width: 54.5479%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m6zHy/btssAAmmD4c/kPRFtNlZSjX4Ins1XkpltK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm6zHy%2FbtssAAmmD4c%2FkPRFtNlZSjX4Ins1XkpltK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1320&quot; height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;163854 &amp;gt; 1103599&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2YoGG/btssAECmu44/rYgR45FK4vBPqEdDKAI6N0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2YoGG/btssAECmu44/rYgR45FK4vBPqEdDKAI6N0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;183&quot; data-filename=&quot;화면 캡처 2023-08-30 143259.png&quot; width=&quot;496&quot; height=&quot;140&quot; style=&quot;width: 48.9792%; margin-right: 10px;&quot; data-widthpercent=&quot;49.56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2YoGG/btssAECmu44/rYgR45FK4vBPqEdDKAI6N0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2YoGG%2FbtssAECmu44%2FrYgR45FK4vBPqEdDKAI6N0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvnMYc/btssBqKtGmU/9H9mQAigdDGR9J76Dkwtr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvnMYc/btssBqKtGmU/9H9mQAigdDGR9J76Dkwtr0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;177&quot; data-filename=&quot;화면 캡처 2023-08-30 143342.png&quot; style=&quot;width: 49.858%;&quot; data-widthpercent=&quot;50.44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvnMYc/btssBqKtGmU/9H9mQAigdDGR9J76Dkwtr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvnMYc%2FbtssBqKtGmU%2F9H9mQAigdDGR9J76Dkwtr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;177&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;힘을 내봐..&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Figure_2.png&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgncMK/btssAEv5FOf/kf0yAVqi5kA9PXO9uVpUqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgncMK/btssAEv5FOf/kf0yAVqi5kA9PXO9uVpUqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgncMK/btssAEv5FOf/kf0yAVqi5kA9PXO9uVpUqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgncMK%2FbtssAEv5FOf%2Fkf0yAVqi5kA9PXO9uVpUqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;296&quot; data-filename=&quot;Figure_2.png&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 성능 비교: 원본 데이터 | 증폭한 데이터 (window size = 16)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;87 &amp;gt;&amp;gt;&amp;gt; 99까지 갑자기 오른다?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* train | test | val dataset split 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; test data는 중폭시키면 안될듯&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. model 변경&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[original] BidirectionalLSTM&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: left;&quot;&gt;&amp;bull;&lt;s&gt; CNN: ValueError ???&amp;nbsp;&amp;nbsp;&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;시계열 데이터 &amp;gt; 이미지 처럼 읽어들이기&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693363996534&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class CNN:

    @staticmethod
    def build(n_timesteps, n_features, classes):

        input_shape = Input(shape=(n_timesteps, n_features, 1))

        model = models.Sequential([
            layers.Conv2D(filters=32, kernel_size=(3, 3), activation='relu', input_shape=input_shape),
            layers.MaxPooling2D(pool_size=(2, 2)),
            layers.Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),
            layers.MaxPooling2D(pool_size=(2, 2)),
            layers.Flatten(),
            layers.Dense(128, activation='relu'),
            layers.Dense(classes, activation='softmax')
        ])

        return model&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;&amp;bull; LeNet5 [&lt;a href=&quot;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=726791&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;&lt;span style=&quot;color: #9d9d9d; text-align: start;&quot;&gt;LeNet5나 CNN 이나 사실 비슷..&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;LeNet 이 CNN의 초기 버전 (&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;상대적 간단하고 작은 모델&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;) &amp;gt; 숫자 인식 같은 작업을 위해 개발된&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;431&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sIue4/btssBYNtR4U/oht7TkIrKupqG04UtuGao1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sIue4/btssBYNtR4U/oht7TkIrKupqG04UtuGao1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sIue4/btssBYNtR4U/oht7TkIrKupqG04UtuGao1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsIue4%2FbtssBYNtR4U%2Foht7TkIrKupqG04UtuGao1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1222&quot; height=&quot;431&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;431&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/93</guid>
      <comments>https://paatata.tistory.com/93#entry93comment</comments>
      <pubDate>Thu, 31 Aug 2023 10:58:39 +0900</pubDate>
    </item>
    <item>
      <title>[hdf5] 대용량 데이터 처리</title>
      <link>https://paatata.tistory.com/92</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;h5py + HDF5Mtrix&lt;/li&gt;
&lt;li&gt;data generator library&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-29 114650.png&quot; data-origin-width=&quot;2134&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v94R2/btssuvFxk17/rZyR65uhqqGkViHTl2ZL61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v94R2/btssuvFxk17/rZyR65uhqqGkViHTl2ZL61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v94R2/btssuvFxk17/rZyR65uhqqGkViHTl2ZL61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv94R2%2FbtssuvFxk17%2FrZyR65uhqqGkViHTl2ZL61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2134&quot; height=&quot;687&quot; data-filename=&quot;화면 캡처 2023-08-29 114650.png&quot; data-origin-width=&quot;2134&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-29 114707.png&quot; data-origin-width=&quot;2143&quot; data-origin-height=&quot;873&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCRpc8/btssv1RqVJE/VM7eAcn3o6aRVZt8kYCf0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCRpc8/btssv1RqVJE/VM7eAcn3o6aRVZt8kYCf0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCRpc8/btssv1RqVJE/VM7eAcn3o6aRVZt8kYCf0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCRpc8%2Fbtssv1RqVJE%2FVM7eAcn3o6aRVZt8kYCf0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2143&quot; height=&quot;873&quot; data-filename=&quot;화면 캡처 2023-08-29 114707.png&quot; data-origin-width=&quot;2143&quot; data-origin-height=&quot;873&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;csv 파일로 처리하다가 어쩌구&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; 메모리 부족으로 생기는 오류 같아요..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; 대용량 데이터를 처리하는 방법에 대해 알아봅시다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; &lt;u&gt;&lt;b&gt;hdf5&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. tensorflow version&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Import&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693286330529&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import h5py
from tensorflow.keras.utils import HDF5Matrix&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Create h5py data&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1693286502562&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = pd.read_csv('data')

# 구조 생성시 데이터 불러와 넣어주는 작업 필요
# 데이터 나눠서 부르고 인덱스로 구분지어 입력 가능

f = h5py.File('path', 'w')

&quot;&quot;&quot;
데이터 저장 위한 구조 생성
keyword: 데이터 구조 접근 | data size: row, col | dtype
&quot;&quot;&quot; 

X = f.create_dataset('x', (10000000, 22), dtye='float32')
Y = f.create_dataset('y', (10000000, 1), dtype='float32')

# 데이터 입력하기
X[:] = data.iloc[:, 1:]	# f['x'] = data.iloc[:, 1:]
Y[:] = data.iloc[:, 0]  # f['y'] = data.iloc[:, 0]

# 나누어 입력하는 방법
# X[1:50 = data.iloc[1:50. 1:]

f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. Training&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693286661649&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# load path

tx = HDF5Matrix('h5py path' 'keyword')
ty = HDF5Matrix('h5py path' 'keyword')

# batch 만큼의 데이터만 실제 메모리에 올려 학습에 사용
# batch 사이즈 잘 조절 &amp;gt; 메모리 에러에서 자유!!

# pytorch
model = Model() # 딥러닝 모델 생성
for e in range(1, 100):
	for j in range(int(len(data/5000))):
    	# ...
        model.forward(tx[j*5000: (j+1)*5000], ty[j*5000:(j+1)*5000])
        # ...&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;대용량 csv 파일을 hdf5 파일로 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;scaler.pkl&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;test.hdf5&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;train.hdf5&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;val.hdf5&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;hdf5 viewer 설치 후 확인 가능&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;pickle: 파이썬 객체를 직렬화 |&amp;nbsp; 역직렬화 하는 기능 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 객체를 파일에 저장하거나 읽어올 때 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ex_&lt;/p&gt;
&lt;pre id=&quot;code_1693288905645&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = { ... }

# 객체를 pkl 파일로 저장
with open('data.pkl', 'wb') as file:
	pickle.dump(data, file)
    
# pkl 파일에서 객체 불러오기
with open('data.pkl', 'rb') as file:
	loaded_data = pickle.load(file)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;window - nvidia-smi 지속 출력 방법&lt;/li&gt;
&lt;li&gt;그냥 궁금한거: mac에서는? [&lt;a href=&quot;https://velog.io/@diduya&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;blog&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>hdf5</category>
      <category>memory</category>
      <category>TensorFlow</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/92</guid>
      <comments>https://paatata.tistory.com/92#entry92comment</comments>
      <pubDate>Tue, 29 Aug 2023 16:48:12 +0900</pubDate>
    </item>
    <item>
      <title>ORDER MATTERS: SEQUENCE TO SEQUENCE FOR SETS</title>
      <link>https://paatata.tistory.com/91</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;논문: &lt;a href=&quot;https://arxiv.org/pdf/1511.06391.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ORDER MATTERS: SEQUEN CE TO SEQUENCE FOR SETS &lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 125053.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chJ6jx/btsrtjlQQ85/pwCyKufYpZKfBURbKkPfq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chJ6jx/btsrtjlQQ85/pwCyKufYpZKfBURbKkPfq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chJ6jx/btsrtjlQQ85/pwCyKufYpZKfBURbKkPfq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchJ6jx%2FbtsrtjlQQ85%2FpwCyKufYpZKfBURbKkPfq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;208&quot; data-filename=&quot;화면 캡처 2023-08-18 125053.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;208&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Oriol Vinyals, SAmy Bengio, Manjunath Kudlur&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;1. 입/출력 데이터의 순서가 모델을 학습할 때 중요한 역할&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;2. 입력 집합을 처리하는 seq2seq framework 확장&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;3. propose loss: searching over possible orders during training 훈련 중 가능한 순서 탐색&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. &lt;b&gt;[Order matters] &lt;/b&gt;No natural order is known among input | output objects -&amp;gt; still be one that yields better performace&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입/출력 간의 순서가 없을 때에도 성능 개선할 수 있는 순서가 존재한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. 모델 내에서 집합을 입/출력으로 고려하는 두가지 방법 제안 &amp;gt; 다양한 artificial &amp;amp; real datasets 어떻게 수행되는지 평가&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RELATED WORK&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;seq2seq 모델 이후 _ &lt;/span&gt;&lt;/span&gt;시퀀로부터 매핑하는 여러 프로그램 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 이미지 캡션 생성: imgae &amp;gt; text&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍&amp;nbsp;구문 분석: 문장 &amp;gt; 구문 분석 트리&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 계산: 문제 설명 &amp;gt; 솔루션 | point set &amp;gt; traveling salesman problem&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ external memories &amp;gt; reading (attention) mechanism to read memory&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- RNNSearch&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Memory Networks&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Neural Turing Machines&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- RL-TNM (&lt;a href=&quot;https://arxiv.org/pdf/1505.00521.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;): Reinforcement learning neural turing machines&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; Chain Rule: serialize output random variables&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; LSTM: long-term correlation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; RNN(encode sentences recursively as trees)과 같이 structured input을 가정 X&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;NEURAL NETWORKS FOR SEQUENCES AND SETS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;seq2seq paradigm: 입력 X와 출력 Y를 모두 시퀀스로 나타내 (입/출력은 다른 길이일 수 있다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.07.04.png&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDAfNd/btsrxlR0Ahx/kLNhiKeHKPrHGflUgLAxCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDAfNd/btsrxlR0Ahx/kLNhiKeHKPrHGflUgLAxCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDAfNd/btsrxlR0Ahx/kLNhiKeHKPrHGflUgLAxCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDAfNd%2FbtsrxlR0Ahx%2FkLNhiKeHKPrHGflUgLAxCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;279&quot; height=&quot;60&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.07.04.png&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;조건부 확률로 모델링 &amp;gt; chain rule to decompose&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Encoder: 입력을 순차적으로 읽기 위해 인코더 RNN 구현 (h(s): state of the encoder at time s)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.09.05.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;56&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEk77S/btsrwBHCvmU/ddSkH4mbC4d9BnKMb2KCb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEk77S/btsrwBHCvmU/ddSkH4mbC4d9BnKMb2KCb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEk77S/btsrwBHCvmU/ddSkH4mbC4d9BnKMb2KCb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEk77S%2FbtsrwBHCvmU%2FddSkH4mbC4d9BnKMb2KCb1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;167&quot; height=&quot;32&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.09.05.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;56&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Decoder RNN: 한번에 하나의 출력:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.10.24.png&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPww1V/btsrDIdUzSl/jCovPZK0TQjkLz8FzF1C6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPww1V/btsrDIdUzSl/jCovPZK0TQjkLz8FzF1C6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPww1V/btsrDIdUzSl/jCovPZK0TQjkLz8FzF1C6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPww1V%2FbtsrDIdUzSl%2FjCovPZK0TQjkLz8FzF1C6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;356&quot; height=&quot;102&quot; data-filename=&quot;스크린샷 2023-08-19 오후 1.10.24.png&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;chain rule의 사용으로 이러한 접근 방식 &amp;gt; 가정 없이 구현 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 X | 출력 Y가 시퀀스에 해당하는 경우: RNN으로 순차적으로 읽는 것이 합리적 &amp;gt;&amp;gt;&amp;gt; 입력이 시퀀스가 아닌 경우??&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Ex_ 입력이 정렬되지 않은 원소들의 집합 ??&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;b&gt;시퀀스는 집합으로 표현 가능 _ (집합 = 순서가 없다)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ex) 시퀀스 내의 각 요소를 index와 결합한 tuple 형태로&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&quot;I like cats&quot; &amp;gt; { (I, 1), (like, 2), (cats, 3) } 형태의 튜플로 변환 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이런 식의 표현이 시퀀스라도 다른 순서로 입/출력 하는게 더 beneficial 하다고 주장 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ex) divide-and-conquer strategy: finds the median element first&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; solution: 증가하거나 감소하는 순서로 출력하지 않을 수 O&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;그래서,,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt; seq2seq을 확장해 입/출력 집합을 다루는 방법&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt; seq2seq 적용된 작업에서 순서의 중요성 &amp;gt; 기존 모델에 대한 확장 &amp;amp; 실험 결과&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. INPUT SETS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 집합을 다루는 방법!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그 전에,&amp;nbsp;입력이 집합 = 순서가 중요하지 않아, 두 원소 x(i), x(j)를 바꾸어도&amp;nbsp; 입력 인코딩 결과가 바뀌면 안된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이거를 만족할 수 있는 방법이 === &lt;b&gt;bag-of-words&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;단어의 등장 횟수, 단어 임베딩 , 유사한 임베딩 함수를 합쳐서 표현하는 방법으로 &lt;span style=&quot;color: #333333; text-align: justify;&quot;&gt;&amp;rarr;&lt;/span&gt;&amp;nbsp;자연스럽게 permutation invariant 성질을 가진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;단어의 등장 횟수 계산 &amp;gt; 벡터 표현 &amp;gt; 등장 횟수만 고려한 표현&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;== 문장에서 단어들의 순서가 중요하지 않은 경우, 문장의 주제/주요 키워드 파악하는데 사용 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;텍스트 = BAG&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;각 단어는 고정된 차원의 벡터 공간 내의 특정 위치에 매핑 &amp;gt; 해당 단어의 특성/의미 나타낸다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++_ 언어=sequential 성질을 가진 domain:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;복잡한 RNN 을 사용해서 순서를 계산에 포함할 수 있어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;bag-of-words &amp;gt; &lt;/b&gt;Reduction operation = &lt;b&gt;inefficient&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 요소를 독립적으로 다루고, 순서/상호작용을 고려하지 않아&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 집합 내 요소의 길이에 따른 변화 반영 못해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;fixed dimentional embedding&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;ex_ &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;10개의 단어로 구성된 문서 &amp;gt; 100 차원의 임베딩&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;같은 방식으로 구성된 다른 문서 &amp;gt; 100개의 단어로 이루어져 있다면? &amp;gt; 똑같이 100 차원의 임베딩&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; 데이터 길이와 상관 없이 항상 일정한 차원의 벡터 생성해 &amp;gt; 데이터의 다양한 특성 표현 못해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;ex_&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;이미지 내의 object detection &amp;gt; object = 고정된 차원의 벡터로 표현&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;고양이 = 100 차원 벡터&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;개 = 100 차원 벡터&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; object 종류와 상관 없이 모든 물체를 &lt;u&gt;동일한 크기의 벡터&lt;/u&gt;로 표현 &amp;gt; &lt;u&gt;비효율&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;4.1 INPUT ORDER MATTERS&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;입력 순서가 시퀀스 입력으로 받는 seq2seq 모델 성능에 주는 영향에 대해 알아보자^^&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;In principle&lt;/u&gt;, RNN과 같은 인코더는 입력 시퀀스에서 복잡한 특성 인코딩 할 수 있는 universal approximators (n-grams of any order)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;b&gt;order not matter&lt;/b&gt;&lt;/u&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;[RNN]&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt; 내부 구조: 시퀀스 각 요소를 한번에 하나씩 처리해 업데이트 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;이전 시점의 정보 &amp;gt; 현재 시점에 영향 == long-term dependency 학습하는데 유리하다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;입력 시퀀스 순서대로 내부 상태 갱신하는 과정 &amp;gt; 각 요소의 순서가 반영되 &amp;gt; 시퀀스 순서가 중요한 정보 처리 가능&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;입력 &lt;u&gt;&lt;b&gt;순서를 바꿔도 최종적으로 동일한 정보가 담기게 되므로&lt;/b&gt;&lt;/u&gt; 순서는 중요하지 않다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;[n-gram]&lt;/b&gt; 연속된 n 개의 요소(단위)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;ex_ &quot;Hello, how are you?&quot; 2-gram ⇨&amp;nbsp;(Hello, how) (how are) (are you?)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; 주로 자연어 처리 텍스트 패턴 분석 | 모델링에 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; 언어 모델링: 이전 (n-1)개의 단어를 기반으로 다음 단어를 예측하는 데 사용 &amp;gt; 문장 | 텍스트 데이터의 확률 구조 모델링&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;근데 왜 &lt;u&gt;&lt;b&gt;순서가 중요&lt;/b&gt;&lt;/u&gt;하냐..?? &lt;b&gt;non-convex optimization and more suitable prior.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; 모델 최적화 과정에서 함수의 형태가 복잡하고 non-convex 특성 때문에 최적화 어렵고&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;gt; 적절한 prior 활용해 모델을 조정하면 더 나은 결과를 얻을 수 ㅇㅇ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;====== 이걸 보여주기 위해 실험을 해볼게 =====&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➀ 기계 번역: 시퀀스의 순서 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;source language(English) &amp;gt; mapping function: Encode &amp;gt; mapping function:Decode &amp;gt; target language(French)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;╚ 영어 문장의 순서를 바꾸면 성능 향상(&lt;a href=&quot;https://arxiv.org/pdf/1409.3215.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Seq2Seq&lt;/a&gt;): 기계 번역을 위한 end-to-end(하나의 단일 시스템으로 처리) 모델&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9d9d9d; text-align: start;&quot;&gt;╚ 전통적인 기계번역: 입력 문장 구문 분석 &amp;gt; 구조 추출 &amp;gt; 번역 수행&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➁ 문장 구성 분석&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;영어 문장을 구문 분석 트리로 매핑하는 과정 &amp;gt; 문장을 반대로 뒤집으면 F1 score 증가하는 결과 얻어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;➂ Convex hull 계산&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;각도에 따라 점들을 정렬 &amp;gt; 작업이 간단해져: &lt;/span&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;O(n log n) &amp;gt; O(n)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;학습 잘되고 빠른 결과 얻을 수 있음&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;=====그러니까 순서가 중요해=====&lt;/span&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;=====순서 정하기=====&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;1. 입력 시퀀스, 집합과 독립적인 순서(= 일정한 순서) 사용를 정의 (ex_ 번역 작업에서 문장을 반대로 뒤집어)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;2. 입력에 따라 결졍되는 순서 정의 (ex_ convex hull 문제에서 점들을 정렬해)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;====================&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;model &amp;lt;&amp;lt; memory + computation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;집합의 크기에 따라 증가하는 메모리 + 순서 불변성을 유지하는 특성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;b&gt;4.2 ATTENTION MECHANISMS&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;주소 지정 메커니즘을 가진메모리를 결합한 모델 &amp;gt; &quot;content&quot; based attention.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;[Content based]&lt;/b&gt; 메모리 | 정보로부터 필요한 정보 선택적 추출, 입력 데이터의 content를 기준으로 어떤 정보를 선택할지&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;(데이터의 순서나 위치와는 독립적)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7; text-align: start;&quot;&gt;1. Query 생성: 입력 데이터 | 메모리에서 검색하려는 정보 나타내는 쿼리 벡터 생성&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7; text-align: start;&quot;&gt;2. Key: Q, K 간의 유사도 계산 = 어텐션 스코어를 얻는다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7; text-align: start;&quot;&gt;3. 어텐션 스코어 확률 분포로 변환 &amp;gt; 어떤 정보를 어느 정도로 선택할 것인지&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7; text-align: start;&quot;&gt;4. 가중 평균&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;╚&lt;span&gt;&amp;nbsp; 메모리에서 얻은 벡터가 메모리를 무작위로 섞어도 변경되지 않는 특성&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;╚&lt;span&gt; 입력 집합을 처리하는데 중요!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EWamj/btsrxL4h4n7/puDp5eJCRGglmrs5KnBtBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EWamj/btsrxL4h4n7/puDp5eJCRGglmrs5KnBtBk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;480&quot; data-filename=&quot;스크린샷 2023-08-19 오후 2.44.38.png&quot; data-widthpercent=&quot;51.12&quot; style=&quot;width: 50.524181%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EWamj/btsrxL4h4n7/puDp5eJCRGglmrs5KnBtBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEWamj%2FbtsrxL4h4n7%2FpuDp5eJCRGglmrs5KnBtBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;804&quot; height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTceYE/btsrAPZE49y/oGt8EiPyxasZV169LosUU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTceYE/btsrAPZE49y/oGt8EiPyxasZV169LosUU1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;472&quot; data-filename=&quot;스크린샷 2023-08-19 오후 2.37.26.png&quot; width=&quot;353&quot; height=&quot;220&quot; data-widthpercent=&quot;48.88&quot; style=&quot;width: 48.313029%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTceYE/btsrAPZE49y/oGt8EiPyxasZV169LosUU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTceYE%2FbtsrAPZE49y%2FoGt8EiPyxasZV169LosUU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;The Read-Process-and-Write model&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;i = memory vector m(i), 입력 크기와 같음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;q(t): qeury vector 메모리에서 r(t)를 읽어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;f: m(i), q(t) 에서 single sclar 계산(dot-product)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;LSTM: 반복 상태 계산하지만 입력은 받지 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;q(t)*: LSTM이 발전하는 상태, q(t)와 어텐션 출력 결과 r(t)를 연결해 형성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;t = processing stpes&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;m(i) 와 m(i)'를 바꾸더라도 r(t)에는 영향을 미치지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;b&gt;READ, PROCESS, WRITE&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;논문에서 제안하는 모델의 3가지 구성 요소&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;b&gt; Reading&lt;/b&gt; block: 입력 요소 x(i)를 신경망 사용해 m(i)로 임베딩, 모든 i에 동일한 신경망 사용&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Process&lt;/b&gt; block: 입/출력 없이 T steps 동안 m(i)에서 계산 수행하는 LSTM, attention mechanism 사용&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ╚ m(i) 반복해서 읽어 상태 업데이트&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ╚ 블록의 마지막, hidden stae q(T)* 는 입력에 대해 permutation invariant 가지는 임베딩&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Write&lt;/b&gt; block:&lt;span&gt; LSTM pointer network(&lt;a href=&quot;https://papers.nips.cc/paper_files/paper/2015/file/29921001f2f04bd3baee84a12e98098f-Paper.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;)(&lt;a href=&quot;https://paatata.tistory.com/63&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;blog&lt;/a&gt;)로 구성&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ╚ 출력을 생성하기 위한 context로 Process block에서 생성한 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;q*(T)가 주어진다&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ╚ context와 입력 집합의 메모리 벡터 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;m(i) 사이의 유사도를 계산해 원소 선택&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; ╚&lt;span&gt; [기존] Pointer network = 포인터 자체를 손실 함수에 포함, 메모리 내의 특정 위치를 가리키도록 만들어&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ╚&lt;u&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 포인터 앞에 추가적인 어텐션(&lt;b&gt;glimpse&lt;/b&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p65gG/btsrDKv1JYG/qBKP9gavT5LbUXob8q5Zmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p65gG/btsrDKv1JYG/qBKP9gavT5LbUXob8q5Zmk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;209&quot; data-filename=&quot;edited_스크린샷 2023-08-19 오후 2.44.38.png&quot; data-widthpercent=&quot;55.2&quot; style=&quot;width: 54.555514%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p65gG/btsrDKv1JYG/qBKP9gavT5LbUXob8q5Zmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp65gG%2FbtsrDKv1JYG%2FqBKP9gavT5LbUXob8q5Zmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;804&quot; height=&quot;209&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FHhJB/btsrCu1yXcX/7enDdAvVtaUCyqUGKkzJo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FHhJB/btsrCu1yXcX/7enDdAvVtaUCyqUGKkzJo0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;196&quot; data-filename=&quot;스크린샷 2023-08-19 오후 3.02.30.png&quot; width=&quot;353&quot; height=&quot;113&quot; data-widthpercent=&quot;44.8&quot; style=&quot;width: 44.281695%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FHhJB/btsrCu1yXcX/7enDdAvVtaUCyqUGKkzJo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFHhJB%2FbtsrCu1yXcX%2F7enDdAvVtaUCyqUGKkzJo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;612&quot; height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;(L) Write block - LSTM pointer (R) Pointer network&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;➔ 입력 요소 X의 순서에 무관 = 집합으로 처리&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;출력이 고정된 dictionary가 아닌 입력을 가리키는 포인터이므로 LSTM이 아닌 Pointer Network를 사용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;b&gt;SORTING EXPERIMENT&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;seq2seq보다 효율적으로 처리하는지 확인하기 위한 실험 수행&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 입력 = 0 ~ 1 사이 N개의 부동 소수점&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; ❍ 출력 = 정렬된 순서 (집합을 시퀀스로 정렬)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;╚ &lt;b&gt;Read&lt;/b&gt;: 각 숫자마다 multilayer perception&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;╚ &lt;b&gt;Proceess&lt;/b&gt;: 읽은 숫자들에 대한 att mechanism&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖ &lt;/span&gt;입력과 출력이 없는 LSTM으로 이루어진 T steps&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;┖ 입력 임베딩에 관여, 포인터 네트워크 사용 &amp;gt; 입력 숫자의 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;적절한 정렬된 순서의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;인덱스 생성하기 위한 LSTM&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍ LSTM으로 이어진 vanilla seq2seq과 비교&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ Ptr-Net 사용해 입력 숫자의 인덱스 만들어내는&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;===&amp;gt; 차이점: 집합 인코딩 방식&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt; LSTM (previous work): 입력을 순차적으로 처리&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ 제안 모델: 입력 데이터 한번에 처리해 순서에 영향을 받지 않는다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 3.18.16.png&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;202&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDbaPA/btsrwAIIKgx/Y3SdLiHYWABqlKBN5pyHd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDbaPA/btsrwAIIKgx/Y3SdLiHYWABqlKBN5pyHd1/img.png&quot; data-alt=&quot;1000 training iterations, all models had converged, non overfitted&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDbaPA/btsrwAIIKgx/Y3SdLiHYWABqlKBN5pyHd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDbaPA%2FbtsrwAIIKgx%2FY3SdLiHYWABqlKBN5pyHd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;511&quot; height=&quot;91&quot; data-filename=&quot;스크린샷 2023-08-19 오후 3.18.16.png&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;202&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;1000 training iterations, all models had converged, non overfitted&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;결과 (N 작업 크기 | P= Process step)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;기본 Ptr-net 모델이 처리 단계가 없을 때(P=0) 더 좋은 결과&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;처리 단계 있으면 &amp;gt; Read-Process-and-Write 모델 성능이 좋아&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Writing module with glimpses(attention mechanism prior to &quot;pointing&quot;) 사용하는게 둘 다 효과적&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5. OUTPUT SETS&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;ouptut representation:&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;확률 변수 집합 Y에 대한 joint probabilites 를 설명하는 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;chain rule&lt;span&gt; &amp;gt; 조건부 독립과 같은 임의의 제한 내포하지 않는 간단한 decomposition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;long range corrlation을 다룰 수 있는 모델 존재한다면 어떤 순서든 사전 정보 없이 작동해야 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;LSTM과 같은 모델을 사용하더라도 출력 순서는 여전히 &lt;b&gt;ordering still plays a key role&lt;/b&gt;!!&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;왜????&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.1 OUTPUT ORDER MATTERS&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;집합 | 시퀀스 Y 원소 배열 &lt;b&gt;&lt;u&gt;순서&lt;/u&gt;&lt;/b&gt;가 seq2seq 모델 성능에 어떤 영향을 미치는가?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;❍&lt;/b&gt; Y 변수들의 임의 | 임의적이지 않은 순서 고려해 &amp;gt; 조건부 확률 분포 P(Y|X) 모델링&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ 이론: chain rule 사용하는 경우 = 순서는 중요하지 X&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ 목표: &lt;b&gt;ordering&lt;/b&gt; of elements does indeed have an &lt;b&gt;impact&lt;/b&gt; on the &lt;b&gt;performance&lt;/b&gt; of the model&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.1.1 LANGUAGE MODELING&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;❍&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; Penn Tree Bank&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ standard language modeling benchmark&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ small dataset&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ medium sized LSTMs with large amounts of regularization: 단어 시퀀스에 대한 확률 추정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;┖ [orderings] natrual | reverse | fixed, 3-word reversal &amp;gt; 순서에 대해 다른 모델 훈련&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.06.24.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pyxz6/btsrH9PB8Qq/uvkM4AwTVKWOBuJLEPiKKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pyxz6/btsrH9PB8Qq/uvkM4AwTVKWOBuJLEPiKKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pyxz6/btsrH9PB8Qq/uvkM4AwTVKWOBuJLEPiKKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPyxz6%2FbtsrH9PB8Qq%2FuvkM4AwTVKWOBuJLEPiKKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;277&quot; height=&quot;65&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.06.24.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;❍&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt; Results&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt; Natural &amp;amp; Reverse: match 86 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;perplexity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt; 3-word reversal: 96 perplexity: 모델이 순서 처리하는데 어려움.. 혼동되는 순서가 선택되면 일부 저하 ㅇㅇ&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;b&gt;❍&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Perplexity: &lt;/b&gt;언어 모델 평가 지표&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;모델이 특정 텍스트 데이터셋을 얼마나 잘 예측하는가, 일련의 단어/토큰들이 얼마나 예측 가능한지 측정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;낮을수록 모델이 데이터셋의 다음 단어를 잘 예측할 수 있음 나타내&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;높을수록 모델이 데이터셋을 잘 모델링하지 못하거나 예측하기 어려움 의미&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.1.2 PARSING&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Consituency parsing = 문장 입력받아 구문 분석 트리 생성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;encoder LSTM &amp;gt; decoder LSTM &amp;gt; generate a &lt;u&gt;depth first traversal&lt;/u&gt; encoding of parse tree &amp;amp;&amp;amp; attention&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;++ Breadth first traversal 사용해 작은 모델 훈련(순서는 입력에 따라 다르다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.16.48.png&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1P2Yu/btsrBmCVYp6/j8qg9gIONkQNKdCo8vbcPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1P2Yu/btsrBmCVYp6/j8qg9gIONkQNKdCo8vbcPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1P2Yu/btsrBmCVYp6/j8qg9gIONkQNKdCo8vbcPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1P2Yu%2FbtsrBmCVYp6%2Fj8qg9gIONkQNKdCo8vbcPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;207&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.16.48.png&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;깊이 우선 = 89.5% F1 score&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;너비 우선 = 81.5% F1 score&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;==== 순서가 중요해^^&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.1.3 COMBINATIONAL PROBLEMS&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;tours, triangulations, etc 와 같은 비순차적인 데이터를 다룰 때, &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;large equivalence class of solutions&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;== 주어진 문제에 대해 서로 다른 해결책이 모두 유효 | 최적일 수 있어&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;ex_ 무작위 숫자 집합 X의 정렬된 입력 인덱스를 출력하는 경우&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 어떤 순서로 출력할지 선택 가능&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 집합으로 처리 가능&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;== n! 개의 가능한 출력 (perfectly valid)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;훈련 set가 이런 순열 중 하나를 무작위로 선택해 생성하면&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;동일한 입력 X에 대해 n! 개의 출력 구성에 동일한 확률 할당해야해..&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;[previous work]: 출력 class를 제한&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; tour: started from lower index city &amp;gt; counter-clockwise ordring&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; triangles: sorted in lexicographical order &amp;gt; move left to right&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(출력을 제한하지 않으면 수렴 속도 훨씬 느려져)&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.1.4 GRAPHICAL MODELS&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;T개의 무작위 변수 집합에 대한 결합 확률 P(y1, ..., yT)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;무작위 변수들에 대한 사전 정보가 없는 경우, 결합 확률을 모델링하는 방법 = chain rule 사용&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(RNN과 비슷한 방식으로 모델링)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.30.18.png&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xaSUE/btsrIdkaNrn/7smtTsBfFZ1RwACmGqJ2y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xaSUE/btsrIdkaNrn/7smtTsBfFZ1RwACmGqJ2y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xaSUE/btsrIdkaNrn/7smtTsBfFZ1RwACmGqJ2y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxaSUE%2FbtsrIdkaNrn%2F7smtTsBfFZ1RwACmGqJ2y0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;392&quot; height=&quot;80&quot; data-filename=&quot;스크린샷 2023-08-19 오후 5.30.18.png&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;문장의 경우 = 단어의 순서 &amp;gt; 모델 내에서 무작위 변수의 순서를 정하는데 도움&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;이론상 - Bayes rule: 필요에 따라 모든 조건부 확률 재정렬 가능, &lt;b&gt;order should not matter&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=== 어쨌거나 &lt;b&gt;one order is easier&lt;/b&gt; to modelr than another&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; generated starlike graphical models&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;head 변수와 그에 따른 조건부 확률 주어저 &amp;gt; 다양한 조건 하에서의 확률 분포 모델링 &amp;gt; 최적의 변수 순서 결정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;[Expect] head 변수로 시작하는 것이 더 쉬울 것&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- random variable: 10 ~ 50&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- training set size: 200 ~ 20000&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- randomness&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- peaky&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;[결과]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- traning set size = 20000, 어떤 순서로든 학습&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- marginal distribution are very peaky: 어떤 순서로든 학습&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 다른 모든 경우: 최적의 무작위 변수 순서로 학습하는 것이 다른 순서로 학습하는 것보다 더 쉬워&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=== 결국에 순서가 중요하다22&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.2 FINDING OPTIAML ORDEREING WHILE TRAINING&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;제안하는 모델 = 입력 집합을 다루기 위한 것&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 입력 순서를 바꾸더라도 불변성 유지하는 임베딩 얻을 수 O&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 입력 집합에 대해 수행할 계산 종류 다룰 수 O&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;확률 변수 y1, ..., yn에 대한 joint probability를 구성하는 것은 함수 구조가 알려지지 않은 경우 어려워&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;RNN을 통해 해결 가능 &amp;gt; chain rule &amp;gt; decompose joint probabilty&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;[drawback] Chain rule&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;y1, .., yn을 집합으로 다루는 주장 위반 &amp;gt; 확률 변수들을 특정한 순서로 조건부화 한다는 것 의미&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;= LSTM을 사용한 결합 확률의 매개변수화&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;= non-convex nature of optimization problem 때문&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖ 목적 함수의 지역 최소값이 전역 최소값과 달라&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖ 초기 조건에 민감하게 변동 | 기울기가 급격하게 변하는 부분에서 수렴하기 어려움&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;[drawback: proposed solution] &lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 모델이 훈련하는 동안 어떤 순서가 가장 적합한지 결정하도록&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 가장 간단하게 작업을 단순화 하는 순서 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;pi;(X)가 존재한다고 가정&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;- &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;p(Y&amp;pi;(X)|X), 가능한 순서의 수는 n! (n=출력 길이), 최적의 순서는 사전에 알려지지 X&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;n! 매우 큰 값 &amp;gt; 훈련 동안 근사적인 탐색 시도 &amp;gt; 로그 확률을 최대화, training pair 에 대한 maximize&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;각 순서에 대한 작업 수행 &amp;gt; 가장 좋은 순서 찾아내 최적 결과 얻어&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 6.11.00.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeWmCmD%2FbtsrH39IiCH%2FsKMY7jYyIruijsJtzx5ud1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;78&quot; data-filename=&quot;스크린샷 2023-08-19 오후 6.11.00.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 초기 파라미터 영향 &amp;gt; 무작위 순서 선택 후 머무르는 문제 존재&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖&lt;span&gt; 모델을 균일한 사전 분포로 1000 step 사전 훈련&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;p(Y&amp;pi;(X)|X)에 비례하는 분포에 따라 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;pi;(X) 샘플링 &amp;gt; 순서 선택: 모델 평가 O(n!) -&amp;gt; O(1) 필요&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖ 효율적인 샘플링: anceestral sampling(left-to-right) &amp;gt; p(.)을 n! 대신 한번만 평가&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;5.2.1 5-GRAM MODELING&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-19 오후 6.11.00.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eWmCmD/btsrH39IiCH/sKMY7jYyIruijsJtzx5ud1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeWmCmD%2FbtsrH39IiCH%2FsKMY7jYyIruijsJtzx5ud1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;349&quot; height=&quot;66&quot; data-filename=&quot;스크린샷 2023-08-19 오후 6.11.00.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;해결하기 위한 시도 &amp;gt; 언어 모델링 작업의 간소화된 버전&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;추가적인 context 없이 5-gram 결합 확률 모델링: 입력 X 없음&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;n! 개의 가능한 순서 중에서 최상의 순서 찾기 &amp;gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;5-gram (sequence): &lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=This,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=is,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=a,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=five,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=gram&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;5-gram (set):&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=(This,1),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=(is,2),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=(a,3),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=(five,4),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;=(gram,5) 위치를 단어와 함께 추가하면 Y는 집합이 된다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;시퀀스 구조 잃지 않고 임의로 Y shuffle 가능&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;natural order: perplexity 225.2&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(5,1,3,4,2) order: perplexity 280 (안좋음)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-20 오전 10.34.59.png&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JbX8d/btsrDcTZlU7/myQaKsvagqvmgRGkK8S9hK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JbX8d/btsrDcTZlU7/myQaKsvagqvmgRGkK8S9hK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JbX8d/btsrDcTZlU7/myQaKsvagqvmgRGkK8S9hK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJbX8d%2FbtsrDcTZlU7%2FmyQaKsvagqvmgRGkK8S9hK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;340&quot; height=&quot;108&quot; data-filename=&quot;스크린샷 2023-08-20 오전 10.34.59.png&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;optimization&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Easy: (1,2,3,4,5) |&lt;span&gt;&amp;nbsp;&lt;/span&gt;(5,1,3,4,2) 에서 균일하게 추출된 exmaple&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;┖&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Hard: 5! 개의 가능한 순서에 대한 example&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;6. CONCLUSION&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;LSTM은 가변 길이의 시퀀스 데이터를 효과적으로 표현 가능&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;- Long term dependencies 처리 능력: gradient vanishing 문제 해결, 모델 성능 향상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;- chaing rule 이용해 복잡한 변수 확률 분포를 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;조건부 확률 곱으로 분해 가능&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; input | output 이 순서가 없는 집합의 경우로 표현되는 경우&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;LSTM에 입력 가능한 순차적인 linearized 형태로 만들어야 한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;❍ &lt;b&gt;order matters&lt;/b&gt; to obtain the best performance.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;┖ 순서가 없는 &lt;u&gt;입력&lt;/u&gt; 데이터의 경우: &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;u&gt;Read-Process-and-Write architecture&lt;/u&gt; 제안&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;┖&lt;span&gt; 순서가 없는 &lt;u&gt;출력&lt;/u&gt; 데이터의 경우: &lt;u&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;efficient training algorithm ↞ training | inference 중 가능한 순서 탐색&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;❍&lt;span&gt; &lt;/span&gt;&lt;/span&gt;sorting | graphical model | langugae model | parseing 에서 입력 및 출력 집합에 대한 실험 통해 설명&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>seq2seq</category>
      <category>Sets</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/91</guid>
      <comments>https://paatata.tistory.com/91#entry91comment</comments>
      <pubDate>Tue, 22 Aug 2023 08:46:45 +0900</pubDate>
    </item>
    <item>
      <title>[공유 세미나] 2023 상반기 학회</title>
      <link>https://paatata.tistory.com/90</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;CVPR&lt;/b&gt; - &lt;a href=&quot;https://arxiv.org/pdf/2303.11749.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Detecting Everything in the open World: Towards universal object detection&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 103337.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BGTPW/btsrtctlUAJ/QPP7ZnLdGcrXEUSswtll51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BGTPW/btsrtctlUAJ/QPP7ZnLdGcrXEUSswtll51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BGTPW/btsrtctlUAJ/QPP7ZnLdGcrXEUSswtll51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBGTPW%2FbtsrtctlUAJ%2FQPP7ZnLdGcrXEUSswtll51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;642&quot; height=&quot;202&quot; data-filename=&quot;화면 캡처 2023-08-18 103337.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;&lt;b&gt;Everything | Open World | Universal&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;image + text 공간의 alignment &amp;gt; multiple sources &amp;amp; heterogeneous label space image&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;Open World&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;└ &lt;/span&gt;Unseen classes: Open-vocabulary object detection&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;└&lt;span&gt; Various domains: Object detection in the&amp;nbsp; Wild&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 103308.png&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/37QIv/btsro8FFjPY/mjk5Y3DkG1lYza4keCpERK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/37QIv/btsro8FFjPY/mjk5Y3DkG1lYza4keCpERK/img.png&quot; data-alt=&quot;partitioned label space의 성능이 가장 좋음&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/37QIv/btsro8FFjPY/mjk5Y3DkG1lYza4keCpERK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F37QIv%2Fbtsro8FFjPY%2Fmjk5Y3DkG1lYza4keCpERK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;647&quot; height=&quot;144&quot; data-filename=&quot;화면 캡처 2023-08-18 103308.png&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;155&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;partitioned label space의 성능이 가장 좋음&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 103521.png&quot; data-origin-width=&quot;333&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHtvBO/btsrvZOaJl4/KPLHpUGQW5zme0mL8Z55Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHtvBO/btsrvZOaJl4/KPLHpUGQW5zme0mL8Z55Kk/img.png&quot; data-alt=&quot;ROI Head 추가&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHtvBO/btsrvZOaJl4/KPLHpUGQW5zme0mL8Z55Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHtvBO%2FbtsrvZOaJl4%2FKPLHpUGQW5zme0mL8Z55Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;333&quot; height=&quot;132&quot; data-filename=&quot;화면 캡처 2023-08-18 103521.png&quot; data-origin-width=&quot;333&quot; data-origin-height=&quot;132&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ROI Head 추가&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;AAAI&lt;/b&gt; - &lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://arxiv.org/pdf/2212.00724.pdf&quot;&gt;SWL -Adapt: An unsupervised domain adaptation model with sample weight learning for corss-user wearable human activity recognition&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 124056.png&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;167&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d9mWxD/btsrtfjqbVB/bUKcdcC9tqUG9hmLFmlFHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d9mWxD/btsrtfjqbVB/bUKcdcC9tqUG9hmLFmlFHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d9mWxD/btsrtfjqbVB/bUKcdcC9tqUG9hmLFmlFHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd9mWxD%2FbtsrtfjqbVB%2FbUKcdcC9tqUG9hmLFmlFHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;155&quot; data-filename=&quot;화면 캡처 2023-08-18 124056.png&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;167&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 124206.png&quot; data-origin-width=&quot;343&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGKHiN/btsrxnOuQkR/c08CMlMQFondUUD1CAW3r0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGKHiN/btsrxnOuQkR/c08CMlMQFondUUD1CAW3r0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGKHiN/btsrxnOuQkR/c08CMlMQFondUUD1CAW3r0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGKHiN%2FbtsrxnOuQkR%2Fc08CMlMQFondUUD1CAW3r0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;343&quot; height=&quot;287&quot; data-filename=&quot;화면 캡처 2023-08-18 124206.png&quot; data-origin-width=&quot;343&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;Feature extractor | Domain discriminator | Classifier |&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; + Weight Allocator&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;automatically fit task-specific weighting functions&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;ICML 2023 Conference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Expo: Talk Panel: &lt;a href=&quot;https://github.com/hpcaitech/ColossalAI&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colossal-AI: Breakthroughs in Efficient AI&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;┗ 3 layer(Efficient Memory system | 2-dim parallelism system | Large-scale Optimizaion)&amp;nbsp; 딥러닝 모델 학습 효과적 진행 도와줌&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt; Tutorials&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;┗&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Tutorial on Multimodal Machine Learning: Principles, Challenges and Open Questions (&lt;a href=&quot;https://arxiv.org/abs/2209.03430&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;┗&lt;span&gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;How to DP-fy ML: A Practical Tutorial to Machine Learning with Differential Privacy (&lt;a href=&quot;https://github.com/pnbc/how-to-dp-fy-ml/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; Fairness/Ethical AI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;┗&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;&lt;span&gt; Learning Fair representations (&lt;a href=&quot;https://www.cs.toronto.edu/~toni/Papers/icml-final.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1.&lt;b&gt; Learning-Rate-Free Learning by D-Adaptation&lt;/b&gt; (&lt;a href=&quot;https://arxiv.org/pdf/2301.07733.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;) (&lt;a href=&quot;https://github.com/facebookresearch/dadaptation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Distance-to-solution의 LB를 가지고, step size 자동 조절 알고리즘 제시&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- SGD, AdaGrad and Adam 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2.&lt;b&gt; A Watermark for Large Language Models&lt;/b&gt; (&lt;a href=&quot;https://arxiv.org/pdf/2301.10226.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;) (&lt;a href=&quot;https://github.com/jwkirchenbauer/lm-watermarking&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- LLM 모델 | 사람의 응답을 구별하기 위한 Watermark 방법론&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 재학습 필요 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. &lt;b&gt;Generative Casual Representation Learning for Out-of-Distribution Motion Forecasting&lt;/b&gt; (&lt;a href=&quot;https://arxiv.org/pdf/2302.08635.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;paper&lt;/a&gt;) (&lt;a href=&quot;https://github.com/sshirahmad/GCRL&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 동작 예측 &amp;gt; domain 변화에 강한 예측기 제안&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 153228.png&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Muw0Y/btsrthCcNgw/HjzOqV7KWCxbMUiy4Nsc01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Muw0Y/btsrthCcNgw/HjzOqV7KWCxbMUiy4Nsc01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Muw0Y/btsrthCcNgw/HjzOqV7KWCxbMUiy4Nsc01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMuw0Y%2FbtsrthCcNgw%2FHjzOqV7KWCxbMUiy4Nsc01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;488&quot; height=&quot;263&quot; data-filename=&quot;화면 캡처 2023-08-18 153228.png&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;4. &lt;b&gt;Motion Question Answering&amp;nbsp; via Modular Motion Programs &lt;/b&gt;(&lt;a href=&quot;https://web.stanford.edu/~markendo/projects/human_motion_qa&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- motion feature 추출, 선후 관계에 대한 학습 &amp;gt; 동작에 대한&amp;nbsp; Q&amp;amp;A 가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 153502.png&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEbTON/btsrtfYEIZx/lzdYORuXfHRqM02UsPllF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEbTON/btsrtfYEIZx/lzdYORuXfHRqM02UsPllF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEbTON/btsrtfYEIZx/lzdYORuXfHRqM02UsPllF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEbTON%2FbtsrtfYEIZx%2FlzdYORuXfHRqM02UsPllF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;605&quot; height=&quot;209&quot; data-filename=&quot;화면 캡처 2023-08-18 153502.png&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;5. Masked Trajectory Models for Prediction, Representation, and Control (&lt;a href=&quot;https://wuphilipp.github.io/mtm/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;- 강인제어 문제에 MTM(Maksed Trajectory Modeling)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 155736.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCbyZU/btsrB3h6fnL/SPvftlsZBZYTgOItQZwunk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCbyZU/btsrB3h6fnL/SPvftlsZBZYTgOItQZwunk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCbyZU/btsrB3h6fnL/SPvftlsZBZYTgOItQZwunk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCbyZU%2FbtsrB3h6fnL%2FSPvftlsZBZYTgOItQZwunk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;519&quot; height=&quot;174&quot; data-filename=&quot;화면 캡처 2023-08-18 155736.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;MTM learns versatile networks that can take on different roles or capabilities, by simply choosing appropriate masks at inference time&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;CVPR&lt;/b&gt; - &lt;a href=&quot;https://arxiv.org/pdf/2304.08490.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Conditional Generation of Audio from Video via Foley Analogies&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 125657.png&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwm5gg/btsrsSaRAhE/KCMKPnkmbcUqF2YsFDJhwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwm5gg/btsrsSaRAhE/KCMKPnkmbcUqF2YsFDJhwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwm5gg/btsrsSaRAhE/KCMKPnkmbcUqF2YsFDJhwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwm5gg%2FbtsrsSaRAhE%2FKCMKPnkmbcUqF2YsFDJhwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;733&quot; height=&quot;155&quot; data-filename=&quot;화면 캡처 2023-08-18 125657.png&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;155&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;Foley = sound effects&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&quot;generate a soundtrack for an input silent video from a user-provided conditional audio-visual example&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;learn to adapt the exaemplar sound to match the timeing of the visual content of a silentt video&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-18 125723.png&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;305&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VdEpL/btsrtdzbh3y/NY8nqXecKToxsKnBhySIz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VdEpL/btsrtdzbh3y/NY8nqXecKToxsKnBhySIz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VdEpL/btsrtdzbh3y/NY8nqXecKToxsKnBhySIz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVdEpL%2Fbtsrtdzbh3y%2FNY8nqXecKToxsKnBhySIz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;305&quot; data-filename=&quot;화면 캡처 2023-08-18 125723.png&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;305&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Conditional Foley generation - &lt;b&gt;Transformer&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Vector-quantized audio representation - &lt;b&gt;VOGAN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Video input representation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Conditional audio representation: &lt;b&gt;vector quntized embeddings&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Combine tokends into a single sequence&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Model training&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Autoregressive sound prediction&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Generating a waveform&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Re-ranking based on audio-visual synchronization&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>2023 상반기 학회</category>
      <category>세미나</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/90</guid>
      <comments>https://paatata.tistory.com/90#entry90comment</comments>
      <pubDate>Fri, 18 Aug 2023 16:00:11 +0900</pubDate>
    </item>
    <item>
      <title>[미해결] [Unreal] Motion Capture Data | Visualizing with UE5</title>
      <link>https://paatata.tistory.com/89</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Matching Bones: Model data and Character&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQTQzb/btspdYx7t8h/ri3rOC716Wlv8fSjDgbDOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQTQzb/btspdYx7t8h/ri3rOC716Wlv8fSjDgbDOK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1943&quot; data-origin-height=&quot;1001&quot; data-filename=&quot;화면 캡처 2023-07-28 153519.png&quot; style=&quot;width: 70.704%; margin-right: 10px;&quot; data-widthpercent=&quot;71.54&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQTQzb/btspdYx7t8h/ri3rOC716Wlv8fSjDgbDOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQTQzb%2FbtspdYx7t8h%2Fri3rOC716Wlv8fSjDgbDOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1943&quot; height=&quot;1001&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbnCKX/btspdXR7mp1/OqCqYKjrRjV2raHyrWf5K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbnCKX/btspdXR7mp1/OqCqYKjrRjV2raHyrWf5K0/img.png&quot; width=&quot;357&quot; height=&quot;462&quot; data-origin-width=&quot;933&quot; data-origin-height=&quot;1208&quot; data-filename=&quot;Inline-image-2023-07-27 16.26.05.368.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.1332%;&quot; data-widthpercent=&quot;28.46&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbnCKX/btspdXR7mp1/OqCqYKjrRjV2raHyrWf5K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbnCKX%2FbtspdXR7mp1%2FOqCqYKjrRjV2raHyrWf5K0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;933&quot; height=&quot;1208&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;센서에서 얻은 데이터 이름과 unreal 캐릭터의 bone matching&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;udp 서버에서 데이터프레임 만들어 unreal 형식에 맞춰서 전송&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;UDP Message Printing&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-28 153735.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qxiAG/btsplL4Mntc/ULNuNABKcGoCgsa4A4aC11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qxiAG/btsplL4Mntc/ULNuNABKcGoCgsa4A4aC11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qxiAG/btsplL4Mntc/ULNuNABKcGoCgsa4A4aC11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqxiAG%2FbtsplL4Mntc%2FULNuNABKcGoCgsa4A4aC11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1082&quot; height=&quot;440&quot; data-filename=&quot;화면 캡처 2023-07-28 153735.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;CONNECT&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/u&gt;: 'UDPRecivedEvent' -&amp;gt; 'Print String' node&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;'Printing String' node ➝ screen/console 출력 option 선택 가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-28 153356.png&quot; data-origin-width=&quot;1959&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXRts2/btspdXlGYjd/QhzcQ7Xc15O4eERBt6xso1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXRts2/btspdXlGYjd/QhzcQ7Xc15O4eERBt6xso1/img.png&quot; data-alt=&quot;Get Array Field: return value: num = 22&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXRts2/btspdXlGYjd/QhzcQ7Xc15O4eERBt6xso1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXRts2%2FbtspdXlGYjd%2FQhzcQ7Xc15O4eERBt6xso1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1959&quot; height=&quot;665&quot; data-filename=&quot;화면 캡처 2023-07-28 153356.png&quot; data-origin-width=&quot;1959&quot; data-origin-height=&quot;665&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Get Array Field: return value: num = 22&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ return value 20 ➝ 22 (add shoulder skeleton)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; 센서 shoulder == 캐릭터 clavicle 로 조정했는데 잘 모르겠음 &lt;span style=&quot;color: #006dd7;&quot;&gt;(수정)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ sensor = { name , oriientation { roll, ptich, yaw } }&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Character: Animation (use animation blueprint)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 100231.png&quot; data-origin-width=&quot;1310&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5vQTG/btspRLb2bFf/dTwbmXjz4QgBfyyS4RBHn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5vQTG/btspRLb2bFf/dTwbmXjz4QgBfyyS4RBHn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5vQTG/btspRLb2bFf/dTwbmXjz4QgBfyyS4RBHn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5vQTG%2FbtspRLb2bFf%2FdTwbmXjz4QgBfyyS4RBHn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1310&quot; height=&quot;445&quot; data-filename=&quot;화면 캡처 2023-08-02 100231.png&quot; data-origin-width=&quot;1310&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 변수 추가: 각 Bone에 해당하는 로테이터 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. bone transform (modify) 노드 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. bone transform node의 rotation과 로테이터 연결&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 102246.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;424&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bl9VyV/btspCmkRCEd/6QJ3iCjZqDGObKxcmksAw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bl9VyV/btspCmkRCEd/6QJ3iCjZqDGObKxcmksAw0/img.png&quot; data-alt=&quot;bone transform (modify) &amp;amp;gt; detail &amp;amp;gt; ratation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bl9VyV/btspCmkRCEd/6QJ3iCjZqDGObKxcmksAw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbl9VyV%2FbtspCmkRCEd%2F6QJ3iCjZqDGObKxcmksAw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;424&quot; data-filename=&quot;화면 캡처 2023-08-02 102246.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;424&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;bone transform (modify) &amp;gt; detail &amp;gt; ratation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* rotation mode: add to existing or &lt;b&gt;replace existing&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* rotation space: &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;(잘 모르겠음)&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - world space: set the value relative to world origin.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - component sapce: relative to skeletal mesh component&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - parent bone: relative to the parent bone&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - bone sapce: relative to bone's transform in the input pose.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ Rotator의&amp;nbsp; default&amp;nbsp; value 수정 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* arm: 0, 0. 0 의 기본 자세 = T-pose&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* pelvis ~ head: y 축 보정 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ euler or quaternion value&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; * &lt;b&gt;0, 0, 0 이 T-pose&lt;/b&gt; 라고 하면 ?? 수집한 Euler T-pose 데이터 의 quanternion 값 사용해야 해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;일단 python: udp server: euler to quaternioin library 사용해 변환&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ degree or radian ??&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ x = roll | y = pitch | z = yaw 맞는지 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-28 170744.png&quot; data-origin-width=&quot;909&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bApiz7/btspd3e2hOP/PYbhSIkhT4KUFHGPmA58o1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bApiz7/btspd3e2hOP/PYbhSIkhT4KUFHGPmA58o1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bApiz7/btspd3e2hOP/PYbhSIkhT4KUFHGPmA58o1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbApiz7%2Fbtspd3e2hOP%2FPYbhSIkhT4KUFHGPmA58o1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;909&quot; height=&quot;496&quot; data-filename=&quot;화면 캡처 2023-07-28 170744.png&quot; data-origin-width=&quot;909&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;euler 값 그대로 전송하면 캐릭터가 움직일거라고 생각했지만&amp;nbsp;축이 이따구로 휘어지는 문제 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ unreal 자체에서 default 값 수정 or 서버에서 보낼때 보정해서 보내주기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;unreal default 수정: 결과 원하는대로 안나옴&lt;span&gt;&amp;nbsp;&lt;/span&gt;➝ 뭐가 문제인지 모르겠음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - 서버에서 값 보정: 동/서/남/북 데이터에 따라 축 뒤틀림^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[1]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WuSD5/btsplO3cvGH/v10lIXYHbN8HcyGYGuuJrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WuSD5/btsplO3cvGH/v10lIXYHbN8HcyGYGuuJrK/img.png&quot; style=&quot;width: 27.0022%; margin-right: 10px;&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;595&quot; data-filename=&quot;화면 캡처 2023-07-31 175820.png&quot; data-widthpercent=&quot;27.32&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WuSD5/btsplO3cvGH/v10lIXYHbN8HcyGYGuuJrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWuSD5%2FbtsplO3cvGH%2Fv10lIXYHbN8HcyGYGuuJrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;385&quot; height=&quot;595&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dydZM3/btspFkeNEwj/RdE76SdZKLFwDfVHfzdu91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dydZM3/btspFkeNEwj/RdE76SdZKLFwDfVHfzdu91/img.png&quot; style=&quot;width: 71.835%;&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;692&quot; data-origin-height=&quot;402&quot; data-filename=&quot;화면 캡처 2023-07-31 175907.png&quot; data-widthpercent=&quot;72.68&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dydZM3/btspFkeNEwj/RdE76SdZKLFwDfVHfzdu91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdydZM3%2FbtspFkeNEwj%2FRdE76SdZKLFwDfVHfzdu91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;692&quot; height=&quot;402&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[2]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EdZ2C/btspE4RnxoG/XqWiurG2Kxbww7kY7mdpmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EdZ2C/btspE4RnxoG/XqWiurG2Kxbww7kY7mdpmK/img.png&quot; style=&quot;width: 28.0713%; margin-right: 10px;&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;368&quot; data-origin-height=&quot;621&quot; data-filename=&quot;화면 캡처 2023-08-01 160615.png&quot; data-widthpercent=&quot;28.4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EdZ2C/btspE4RnxoG/XqWiurG2Kxbww7kY7mdpmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEdZ2C%2FbtspE4RnxoG%2FXqWiurG2Kxbww7kY7mdpmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;368&quot; height=&quot;621&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tn6Yt/btspolzQ1Cl/cpR5rT6mrwDijXMqB2yKv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tn6Yt/btspolzQ1Cl/cpR5rT6mrwDijXMqB2yKv1/img.png&quot; style=&quot;width: 70.7659%;&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;409&quot; data-filename=&quot;화면 캡처 2023-08-01 160810.png&quot; data-widthpercent=&quot;71.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tn6Yt/btspolzQ1Cl/cpR5rT6mrwDijXMqB2yKv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftn6Yt%2FbtspolzQ1Cl%2FcpR5rT6mrwDijXMqB2yKv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;s&gt;☑ 이게 문제가 아닌 것 같다..&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;UDP Controller BP: Add Rotator SET&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;'UDPController_Human' Blue print&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;의&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;ThridPerson_AnimBP&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;형변환 노드에서 새로운 노드를 추가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;'ThirdPerson_AnimBP'&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;에서 생성한 변수를 추가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image001.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1JPKE/btsplOh1spQ/ZwuNtXKK2dUvUzEqrXwNkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1JPKE/btsplOh1spQ/ZwuNtXKK2dUvUzEqrXwNkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1JPKE/btsplOh1spQ/ZwuNtXKK2dUvUzEqrXwNkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1JPKE%2FbtsplOh1spQ%2FZwuNtXKK2dUvUzEqrXwNkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;539&quot; data-filename=&quot;image001.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image002.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blqhHf/btspmgrP0fr/L8koqvUj4jfXcBZ73MMlck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blqhHf/btspmgrP0fr/L8koqvUj4jfXcBZ73MMlck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blqhHf/btspmgrP0fr/L8koqvUj4jfXcBZ73MMlck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblqhHf%2FbtspmgrP0fr%2FL8koqvUj4jfXcBZ73MMlck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;319&quot; data-filename=&quot;image002.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image003.png&quot; data-origin-width=&quot;862&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9KRGj/btspFldUein/CSzsm6NPkLEUxxLww72JP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9KRGj/btspFldUein/CSzsm6NPkLEUxxLww72JP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9KRGj/btspFldUein/CSzsm6NPkLEUxxLww72JP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9KRGj%2FbtspFldUein%2FCSzsm6NPkLEUxxLww72JP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;862&quot; height=&quot;235&quot; data-filename=&quot;image003.png&quot; data-origin-width=&quot;862&quot; data-origin-height=&quot;235&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 093937.png&quot; data-origin-width=&quot;917&quot; data-origin-height=&quot;711&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xjw3d/btspK35R0wf/CkP9t9fG0243KRvFROWydK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xjw3d/btspK35R0wf/CkP9t9fG0243KRvFROWydK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xjw3d/btspK35R0wf/CkP9t9fG0243KRvFROWydK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXjw3d%2FbtspK35R0wf%2FCkP9t9fG0243KRvFROWydK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;917&quot; height=&quot;711&quot; data-filename=&quot;화면 캡처 2023-08-02 093937.png&quot; data-origin-width=&quot;917&quot; data-origin-height=&quot;711&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ 센서에서 얻은 모든 bone 데이터 연결 &amp;amp; 흐름 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;☑ 삽질 ing (2023.08.02)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 111738.png&quot; data-origin-width=&quot;1677&quot; data-origin-height=&quot;377&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lCr0j/btspGLqWgrF/ttJ2ri6eSgkKBmJHaVMz00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lCr0j/btspGLqWgrF/ttJ2ri6eSgkKBmJHaVMz00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lCr0j/btspGLqWgrF/ttJ2ri6eSgkKBmJHaVMz00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlCr0j%2FbtspGLqWgrF%2FttJ2ri6eSgkKBmJHaVMz00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1677&quot; height=&quot;377&quot; data-filename=&quot;화면 캡처 2023-08-02 111738.png&quot; data-origin-width=&quot;1677&quot; data-origin-height=&quot;377&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;데이터 하나 잡고 끝나는건가..&amp;nbsp;값 변화 없음^^&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 112115.png&quot; data-origin-width=&quot;1580&quot; data-origin-height=&quot;505&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r27qg/btspOBt4bPu/sNCBx1KFXgmNL8YrnZL1j1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r27qg/btspOBt4bPu/sNCBx1KFXgmNL8YrnZL1j1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r27qg/btspOBt4bPu/sNCBx1KFXgmNL8YrnZL1j1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr27qg%2FbtspOBt4bPu%2FsNCBx1KFXgmNL8YrnZL1j1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1580&quot; height=&quot;505&quot; data-filename=&quot;화면 캡처 2023-08-02 112115.png&quot; data-origin-width=&quot;1580&quot; data-origin-height=&quot;505&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;근데 콘솔에서는 계속해서 값 들어오는거 확인?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 154158.png&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;640&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cU8Gph/btspGKMIYuX/Ev2m708UaEWbqOyXDNchW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cU8Gph/btspGKMIYuX/Ev2m708UaEWbqOyXDNchW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cU8Gph/btspGKMIYuX/Ev2m708UaEWbqOyXDNchW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcU8Gph%2FbtspGKMIYuX%2FEv2m708UaEWbqOyXDNchW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1031&quot; height=&quot;640&quot; data-filename=&quot;화면 캡처 2023-08-02 154158.png&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;count 값으로 제대로 들어가고 있는건지 확인 &amp;gt; time.sleep(1) 변화 관찰&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 154350.png&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2XBk2/btspK2M5Mtr/O8bnaupfPYHAvmkd7QI4NK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2XBk2/btspK2M5Mtr/O8bnaupfPYHAvmkd7QI4NK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2XBk2/btspK2M5Mtr/O8bnaupfPYHAvmkd7QI4NK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2XBk2%2FbtspK2M5Mtr%2FO8bnaupfPYHAvmkd7QI4NK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;528&quot; height=&quot;384&quot; data-filename=&quot;화면 캡처 2023-08-02 154350.png&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;384&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1초마다 캐릭터가 회전하기는 하는데.. 그럼 뭐가 문제? ^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnUabT/btspFmepJx1/7FcTKBgIFTnxVdKyVhd0c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnUabT/btspFmepJx1/7FcTKBgIFTnxVdKyVhd0c1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;634&quot; data-origin-height=&quot;428&quot; data-filename=&quot;화면 캡처 2023-08-02 175132.png&quot; style=&quot;width: 43.8343%; margin-right: 10px;&quot; data-widthpercent=&quot;44.35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnUabT/btspFmepJx1/7FcTKBgIFTnxVdKyVhd0c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnUabT%2FbtspFmepJx1%2F7FcTKBgIFTnxVdKyVhd0c1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A5BRD/btspUigJann/bVgWxlf2FfrcwjWkxm55Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A5BRD/btspUigJann/bVgWxlf2FfrcwjWkxm55Kk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;269&quot; data-filename=&quot;화면 캡처 2023-08-02 175243.png&quot; style=&quot;width: 55.0029%;&quot; data-widthpercent=&quot;55.65&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A5BRD/btspUigJann/bVgWxlf2FfrcwjWkxm55Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA5BRD%2FbtspUigJann%2FbVgWxlf2FfrcwjWkxm55Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Rotator 값 Screen에 찍어봐도 변화하는거 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;❍ Character BP, UDP controller BP 축 방향 설정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpFAfT/btspMkGULyx/Mvbg5kPcBFduEHJXUWhhIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpFAfT/btspMkGULyx/Mvbg5kPcBFduEHJXUWhhIK/img.png&quot; width=&quot;646&quot; height=&quot;423&quot; data-origin-width=&quot;846&quot; data-origin-height=&quot;554&quot; data-filename=&quot;화면 캡처 2023-08-02 172426.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.4369%; margin-right: 10px;&quot; data-widthpercent=&quot;45.97&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpFAfT/btspMkGULyx/Mvbg5kPcBFduEHJXUWhhIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpFAfT%2FbtspMkGULyx%2FMvbg5kPcBFduEHJXUWhhIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;846&quot; height=&quot;554&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJP5wO/btsqaPAr1f2/q31Ad7WEE3vojTd5k8b3tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJP5wO/btsqaPAr1f2/q31Ad7WEE3vojTd5k8b3tk/img.png&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;492&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.4003%;&quot; data-widthpercent=&quot;54.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJP5wO/btsqaPAr1f2/q31Ad7WEE3vojTd5k8b3tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJP5wO%2FbtsqaPAr1f2%2Fq31Ad7WEE3vojTd5k8b3tk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;492&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;UDP Controller Human&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;데이터셋에서 얻은 y=ptich / x=roll 값들이 unreal engine에서 반대인 듯&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;캐릭터 Animation BP 에서 Rotator에 전송되는 값들로 바뀌도록 만들고 싶으니까 &lt;u&gt;&lt;b&gt;opiton = replace existing&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(add to existing 이면 캐릭터 끝도 없이 회전하는 문제 발생)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Character Animation BluePrint &amp;gt; Character &amp;gt; bones &amp;gt; all hierarchy&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 bone들이 어떻게 연결되어 있는지를 나타내는 것 = &quot;Rig&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;skeleton은 이렇게 뼈대 구조 목록과 각 bone들이 어떻게 연결되어 있는지에 대한 정보 들어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-01 164015.png&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;853&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqxYms/btspH2yJlQl/79oENJpcCbZEUKU086U5q0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqxYms/btspH2yJlQl/79oENJpcCbZEUKU086U5q0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqxYms/btspH2yJlQl/79oENJpcCbZEUKU086U5q0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqxYms%2FbtspH2yJlQl%2F79oENJpcCbZEUKU086U5q0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;528&quot; height=&quot;547&quot; data-filename=&quot;화면 캡처 2023-08-01 164015.png&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;853&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ Skeleton 범위 벗어난 ik_hand / ik_foot 때문인가 싶었는데 아닌듯&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☑ 데이터 수집 (2023.08.02)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.bvh 파일 확인하기 (&lt;a href=&quot;http://lo-th.github.io/olympe/BVH_player.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;N-Pose / T-Pose 로 calibration 후 여러 개의 pose data 수집&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Xsens로 얻은 .mvn &amp;gt; .xlsx 로 변환 후 캐릭터에서 확인&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.bvh 파일 분석&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-07 173325.png&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t6kiH/btsqfzKRaJV/FFI7qtJMPsCfWg3DLLmKY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t6kiH/btsqfzKRaJV/FFI7qtJMPsCfWg3DLLmKY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t6kiH/btsqfzKRaJV/FFI7qtJMPsCfWg3DLLmKY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft6kiH%2FbtsqfzKRaJV%2FFFI7qtJMPsCfWg3DLLmKY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;966&quot; height=&quot;575&quot; data-filename=&quot;화면 캡처 2023-08-07 173325.png&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;575&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;수집한 데이터 xlsx 사용하지 않고 bvh 정보 사용하기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sXwIl/btsp9YRxuN4/KpvUFY3kGAQkGkTEJ3ssO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sXwIl/btsp9YRxuN4/KpvUFY3kGAQkGkTEJ3ssO1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;560&quot; data-filename=&quot;화면 캡처 2023-08-07 173554.png&quot; style=&quot;width: 48.686%; margin-right: 10px;&quot; data-widthpercent=&quot;49.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sXwIl/btsp9YRxuN4/KpvUFY3kGAQkGkTEJ3ssO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsXwIl%2Fbtsp9YRxuN4%2FKpvUFY3kGAQkGkTEJ3ssO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;560&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpdNWD/btsqtvtu0Ej/kLCoVDKlC79Liuy9fujVt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpdNWD/btsqtvtu0Ej/kLCoVDKlC79Liuy9fujVt0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;664&quot; data-origin-height=&quot;586&quot; data-filename=&quot;화면 캡처 2023-08-07 173611.png&quot; style=&quot;width: 50.1512%;&quot; data-widthpercent=&quot;50.74&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpdNWD/btsqtvtu0Ej/kLCoVDKlC79Liuy9fujVt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpdNWD%2Fbtsqtvtu0Ej%2FkLCoVDKlC79Liuy9fujVt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;664&quot; height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이전보다 의미 있는 결과가 나오나 여전히 수집한 데이터와는 일치하지 않음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;➔ &lt;u&gt;&lt;b&gt;원인 파악 안됨&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☑ udp_server.py 에서 bone 종류마다 값을 보정해서 보내주기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EIAAc/btsp9ZXc3OY/zlLS3dfEybBtoZHHZJldek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EIAAc/btsp9ZXc3OY/zlLS3dfEybBtoZHHZJldek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EIAAc/btsp9ZXc3OY/zlLS3dfEybBtoZHHZJldek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEIAAc%2Fbtsp9ZXc3OY%2FzlLS3dfEybBtoZHHZJldek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;645&quot; height=&quot;444&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각각의 bone 마다 추가적으로 값 더해서 보내주는 방법 시도&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ 동/서/남/북 에 따라 보정값이 달라져야 한다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ 이렇게까지 해야 할 이유가 있을까? &amp;rarr; 다른 방법 찾아보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ 이렇게 보내는거나 bp에서 default 값 설정하는 거나 비슷한거 아닌가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☑&lt;span&gt;&amp;nbsp; Character Animation BP 설정 변화 시도&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh5mdm/btsqrDrQPVh/Ato8uz4JPoPwrfcqD2T6kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh5mdm/btsqrDrQPVh/Ato8uz4JPoPwrfcqD2T6kk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;504&quot; data-filename=&quot;화면 캡처 2023-08-07 174336.png&quot; style=&quot;width: 39.9714%; margin-right: 10px;&quot; data-widthpercent=&quot;40.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh5mdm/btsqrDrQPVh/Ato8uz4JPoPwrfcqD2T6kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh5mdm%2FbtsqrDrQPVh%2FAto8uz4JPoPwrfcqD2T6kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;765&quot; height=&quot;504&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d0Zy9w/btsqtX4nE9h/8GhkPKWwXsk1UQzKZHRgr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d0Zy9w/btsqtX4nE9h/8GhkPKWwXsk1UQzKZHRgr0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;763&quot; data-origin-height=&quot;701&quot; data-filename=&quot;화면 캡처 2023-08-07 174351.png&quot; style=&quot;width: 28.6632%; margin-right: 10px;&quot; data-widthpercent=&quot;29.35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d0Zy9w/btsqtX4nE9h/8GhkPKWwXsk1UQzKZHRgr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd0Zy9w%2FbtsqtX4nE9h%2F8GhkPKWwXsk1UQzKZHRgr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;763&quot; height=&quot;701&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eUyjVO/btsqtXi0mK8/uab2hR7LeEFS4LW5YxiF9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eUyjVO/btsqtXi0mK8/uab2hR7LeEFS4LW5YxiF9k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;691&quot; data-filename=&quot;화면 캡처 2023-08-07 174422.png&quot; style=&quot;width: 29.0399%;&quot; data-widthpercent=&quot;29.73&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eUyjVO/btsqtXi0mK8/uab2hR7LeEFS4LW5YxiF9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeUyjVO%2FbtsqtXi0mK8%2Fuab2hR7LeEFS4LW5YxiF9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;691&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여러 방법으로 시도해봤지만 &amp;gt; 원하는 결과 ? 안나옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☑&lt;span&gt;&amp;nbsp; NEXT..?&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;❍ C++ 단계부터 시작하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; ┖ &lt;/span&gt;&lt;/b&gt;&lt;span&gt;BP 쓰는 것 보다 훨씬 직관적? 으로 구현할 수 있을 것 같긴 한데 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖&lt;/span&gt;&lt;/b&gt;&amp;rarr; 그럼 어디서부터 시작해야되지&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 다른 Insight 생기기 전까지 잠시.. Bye&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;span&gt;┖ &lt;/span&gt;&lt;/b&gt;&lt;span&gt;너무 오래동안 잡고있는 듯한 느낌&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Window &amp;gt; world settings &amp;gt; Gamemode override: thridperson gamemode 선택&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;플레이어는 character calss 상속&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ 기본 컴포넌트로 CHARACTER MOVEMENT&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ (일반적: 인간형) 루트 컴포넌트로 캡슐 콜리전, 현재 어느쪽을 향하고 있는지 알려주는 애로우 컴포넌트&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ 기본적으로 character class 가 상속받는 것으로 삭제 불가능&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┖ 캐릭터 외관 설정 &amp;gt; 스켈레탈메시 컴포넌트 &amp;gt; SK_Mannequin&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[ERROR]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☁&amp;nbsp;UDP Socket Plugin + Version Crash&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-27 173539.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;599&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A3fjj/btso8zxPfh1/EyiatwYb41ufApStoXKloK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A3fjj/btso8zxPfh1/EyiatwYb41ufApStoXKloK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A3fjj/btso8zxPfh1/EyiatwYb41ufApStoXKloK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA3fjj%2Fbtso8zxPfh1%2FEyiatwYb41ufApStoXKloK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;743&quot; height=&quot;599&quot; data-filename=&quot;화면 캡처 2023-07-27 173539.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;599&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Assertion failed: Socket != nullptr [File:E:\Media\Epic Games\UE_5.1\Engine\Source\Runtime\Networking\Public\Common\UdpSocketReceiver.h] [Line: 53]&lt;br /&gt;&lt;br /&gt;UnrealEditor_UDPWrapper&lt;br /&gt;UnrealEditor_UDPWrapper&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_CoreUObject&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_Engine&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor_UnrealEd&lt;br /&gt;UnrealEditor&lt;br /&gt;UnrealEditor&lt;br /&gt;UnrealEditor&lt;br /&gt;UnrealEditor&lt;br /&gt;UnrealEditor&lt;br /&gt;UnrealEditor&lt;br /&gt;kernel32&lt;br /&gt;ntdll&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;☁ [project name] could not be compiled. Try rebuilding from source manually.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/opVAa/btsp64K93HL/XnmtcxJCYkRD3Jlo8iGA6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/opVAa/btsp64K93HL/XnmtcxJCYkRD3Jlo8iGA6K/img.png&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;152&quot; data-filename=&quot;화면 캡처 2023-08-07 090344.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.2151%; margin-right: 10px;&quot; data-widthpercent=&quot;50.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/opVAa/btsp64K93HL/XnmtcxJCYkRD3Jlo8iGA6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FopVAa%2Fbtsp64K93HL%2FXnmtcxJCYkRD3Jlo8iGA6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;420&quot; height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmhE37/btsqd4XbVp4/mfd2NKmNCY2ITAHCYDe2ok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmhE37/btsqd4XbVp4/mfd2NKmNCY2ITAHCYDe2ok/img.png&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;151&quot; data-filename=&quot;화면 캡처 2023-08-07 090405.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.6221%;&quot; data-widthpercent=&quot;49.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmhE37/btsqd4XbVp4/mfd2NKmNCY2ITAHCYDe2ok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmhE37%2Fbtsqd4XbVp4%2Fmfd2NKmNCY2ITAHCYDe2ok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;404&quot; height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DnoTe/btsqaPsqNr6/qBC2l7vwhakWw07wKkVDEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DnoTe/btsqaPsqNr6/qBC2l7vwhakWw07wKkVDEK/img.png&quot; data-origin-width=&quot;395&quot; data-origin-height=&quot;267&quot; data-filename=&quot;화면 캡처 2023-08-07 090425.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.6366%; margin-right: 10px;&quot; data-widthpercent=&quot;34.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DnoTe/btsqaPsqNr6/qBC2l7vwhakWw07wKkVDEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDnoTe%2FbtsqaPsqNr6%2FqBC2l7vwhakWw07wKkVDEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CFAO2/btsp7UabgmM/1QZwe1nwN2K4RatjlEJ0iK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CFAO2/btsp7UabgmM/1QZwe1nwN2K4RatjlEJ0iK/img.png&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;136&quot; data-filename=&quot;화면 캡처 2023-08-07 090451.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 65.2006%;&quot; data-widthpercent=&quot;65.97&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CFAO2/btsp7UabgmM/1QZwe1nwN2K4RatjlEJ0iK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCFAO2%2Fbtsp7UabgmM%2F1QZwe1nwN2K4RatjlEJ0iK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;UDPWrapper 가 Unreal 4 버전만 있어서 소스를 빌드해 사용했지만 현재 5.1 버전에 해당하는게 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그치만 뭔가 안맞는지 실행할때마다 자꾸 죽어버리는 프로그램&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-02 131201.png&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHjSS9/btspFMwO1Lg/RlimkK24OVEN379mzSyeLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHjSS9/btspFMwO1Lg/RlimkK24OVEN379mzSyeLk/img.png&quot; data-alt=&quot;'&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHjSS9/btspFMwO1Lg/RlimkK24OVEN379mzSyeLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHjSS9%2FbtspFMwO1Lg%2FRlimkK24OVEN379mzSyeLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;868&quot; height=&quot;266&quot; data-filename=&quot;화면 캡처 2023-08-02 131201.png&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;'&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ Visual Studio Installer &amp;gt; C++ 사용한 데스크톱 개발 / .NET 데스크톱 개발 설정 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 컴퓨터 재시동..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 될 때까지 계속 실행시키면 가끔 켜질 때도 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 저장/컴파일 하기 전에 뭐 순서에 맞게 빌드해줘야된다는 글을 봤는데 &amp;gt;&amp;gt; 잘 모르겠음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 프로젝트 파일 Saved, Intermediate 폴더 삭제 후 재실행 &amp;gt;&amp;gt; 된다는 사람도 있던데..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[REFERENCE]&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;a href=&quot;https://www.youtube.com/watch?v=U4DAabbbMrg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ref_video&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;a href=&quot;https://docs.unrealengine.com/5.2/en-US/skeleton-editor-in-unreal-engine/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs1&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;a href=&quot;https://www.youtube.com/watch?v=QK1EZm51OiQ&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Absolute / perfect orientation out of IMU (video)&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;a href=&quot;https://base.xsens.com/s/article/MVN-Unreal-Live-Link-Plugin-UE5?language=en_US&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MVN Plugin (video)&lt;/a&gt; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>motion capture</category>
      <category>UDP</category>
      <category>Unreal Engine</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/89</guid>
      <comments>https://paatata.tistory.com/89#entry89comment</comments>
      <pubDate>Fri, 18 Aug 2023 12:39:29 +0900</pubDate>
    </item>
    <item>
      <title>[Python] configparser</title>
      <link>https://paatata.tistory.com/88</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;개발 환경이나 사용자에 따른 설정 파일 만들기&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. configparser &amp;gt; create config file&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1692317557677&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import configparser

# config file
config = configparser.ConfigParser() 

# create config file object
config['system'] = {}
config['system']['title'] = 'Neural Networks'
config['system']['version'] = '0.0.1'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;config 파일 생성 &amp;gt; config['object&amp;nbsp; name'] = {} 으로 섹션 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;데이터 값은 문자열로만 저장 &amp;gt; 읽고 쓰는 과정에서 전처리 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;2. config 파일 저장 후 읽기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1692317787885&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# save
with open('config.ini', 'w', encoding='utf-8') as configfile:
	config.write(configfile)
   
# read
config = configparser.ConfigParser()
config.read('config.ini', encoding='utf-8')

# section 확인
config.sections()

# read section
var = config['system']['version']
title = config['system']['title']

print(title, var)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다양한 설정 파일 읽고 쓰고 불러오기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #373a3c; text-align: center;&quot;&gt;┗ 내용 수정은 읽기로 불러와서 config 만들기 과정 반복&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1692318297629&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import configparser
from time import strtime

def config_generator():
	config = configparser.Configparser()
    
    config['system'] = {}
    config['system']['title'] = 'Neural Networks'
    config['system']['version'] = '0.0.1'
    config['system']['update'] = starttime('%Y-%m-%d %H:%M:%S')
    
    config['image'] = {}
    config['image']['width'] = '640'
    config['image']['height'] = '480'
    config['image']['type'] = 'png'
    
 	with open('config.ini', 'w', encoding='utf-8') as configfile:
    	config.write(configfile)
 
 
def config_read():
	config = configparser.ConfigParser()
    config.reaD('config.ini', encoding='utf-8')
    
    version_read(config)

def version_read():
	ver = config['system']['verison']
    title = config['system']['title']
    
    print(title, ver)

if __name__==&quot;__main__&quot;:
	
    config_generator()
    config_read()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>config</category>
      <category>Python</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/88</guid>
      <comments>https://paatata.tistory.com/88#entry88comment</comments>
      <pubDate>Fri, 18 Aug 2023 10:31:38 +0900</pubDate>
    </item>
    <item>
      <title>Attention Is All You Need</title>
      <link>https://paatata.tistory.com/86</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;논문: &lt;a href=&quot;https://arxiv.org/pdf/1706.03762.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Attention Is All You Need&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-08-04 111526.png&quot; data-origin-width=&quot;697&quot; data-origin-height=&quot;397&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kQaWj/btspXmxOIzZ/pT31fAU4puAlJq4rwsOBEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kQaWj/btspXmxOIzZ/pT31fAU4puAlJq4rwsOBEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kQaWj/btspXmxOIzZ/pT31fAU4puAlJq4rwsOBEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkQaWj%2FbtspXmxOIzZ%2FpT31fAU4puAlJq4rwsOBEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;697&quot; height=&quot;397&quot; data-filename=&quot;화면 캡처 2023-08-04 111526.png&quot; data-origin-width=&quot;697&quot; data-origin-height=&quot;397&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;Attention&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RNN ➝ LSTM ➝ &lt;b&gt;Seq2Seq&lt;/b&gt; ➝ Attention ➝ &lt;b&gt;Transformer&lt;/b&gt; ➝ ...&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ 기존 Sequence model의 문제점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ RNN의 sequential 특징: 입/출력 sequence token(symbol) 위치 따라 연산&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;이전 step h(t-1)과 현재 입력 t로 h(t) 시퀀스 생성 ➔ parellelization 불가능, 메모리 제약..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt; 시퀀스 길이가 길어질수록 병렬화 중요해&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ 입력 문장을 하나의 context vector c로 압축 ➔&amp;nbsp;bottle neck 원인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ RNN cell에서 참고하도록 만들어 성능 개선 가능 ➔ 문장이 길어져도 손실 정도 줄일 수 있지만, 여전히 병목 현상 문제..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt; 출력 할 때마다 입력 문장을 참고하도록 개선 (&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://paatata.tistory.com/72&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Neural Machine Translation by Jointly Learning Align and Translate&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☑ Transformer&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;RNN / CNN 없이 오직 &lt;b&gt;Attention&lt;/b&gt; 만 사용해서 개선&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Model Architecture&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;(Encoder-Decoder)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dz7Yf8/btsrgoNy9Vy/ROjZnej0kKhyDG10qSyRYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dz7Yf8/btsrgoNy9Vy/ROjZnej0kKhyDG10qSyRYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dz7Yf8/btsrgoNy9Vy/ROjZnej0kKhyDG10qSyRYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdz7Yf8%2FbtsrgoNy9Vy%2FROjZnej0kKhyDG10qSyRYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;241&quot; height=&quot;348&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Encoder&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. Input Embedding &amp;amp; Positional Encoding&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- input token 을 d(model) 차원 벡터로 변환하기 위한 임베딩 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 3.40.47.png&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1qfC8/btsq1bWROKu/X6gXHqD6hT7KhDj19Ouk10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1qfC8/btsq1bWROKu/X6gXHqD6hT7KhDj19Ouk10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1qfC8/btsq1bWROKu/X6gXHqD6hT7KhDj19Ouk10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1qfC8%2Fbtsq1bWROKu%2FX6gXHqD6hT7KhDj19Ouk10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;464&quot; height=&quot;169&quot; data-filename=&quot;스크린샷 2023-08-14 오후 3.40.47.png&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- sequence data를 처리하기 위해서 순서에 대한 정보 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ 기존 RNN 사용 시, 위치에 대한 정보 제공 O ➔ RNN을 사용하지 X ??? ➔ &amp;nbsp;&lt;b&gt;Positional Encoding&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍ RNN 사용 O:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;┖&amp;nbsp;&amp;nbsp;인코더 (LSTM, RNN)를 고정된 크기로 사용&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;┖&amp;nbsp;&amp;nbsp;입력 단어 개수만큼 인코더 레이어 거쳐 매번 hidden state 만들어&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #7e98b1; text-align: left;&quot;&gt;&amp;harr;&lt;/span&gt;&amp;nbsp;입력 단어 자체가 하나로 연결되어 한번에 입력되어 attention 구해&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;중간에 context vector로 압축하는 과정 생략&lt;/span&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;네트워크 자체에서 LSTM 같은 RNN 구조를 사용할 필요 없다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- &amp;nbsp;주기 함수 활용한 공식 사용&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.04.20.png&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bea3ji/btsrgPYtXAM/ST1st5DBYn6zyu7tFjXY90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bea3ji/btsrgPYtXAM/ST1st5DBYn6zyu7tFjXY90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bea3ji/btsrgPYtXAM/ST1st5DBYn6zyu7tFjXY90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbea3ji%2FbtsrgPYtXAM%2FST1st5DBYn6zyu7tFjXY90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;303&quot; height=&quot;69&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.04.20.png&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; &lt;/span&gt;정해진 함수 사용하지 X, 위치에 대한 임베딩 값을 학습하도록 만들어 네트워크에 넣을 수 O&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 논문: sin() 사용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;2. Multi-Head Attention ➔ Add &amp;amp; Norm&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-입력 문장 각 단어에 대해&lt;b&gt; self-attention&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt; Q, K, V 모두 인코더의 값, 각 position은 그 전 layer의 모든 position 참조&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;== &amp;nbsp;어떤 한 단어와 모든 단어 사이의 연관성 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Residual learning&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 전반적인 학습 난이도 낮추고 초기 모델 속도 올려&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;3.&lt;span&gt; FeedForward ➔ Add &amp;amp; Norm&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 3.53.15.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjFxVt/btsq5bWiZy7/lASkrnRuRKBEFZfFuek3H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjFxVt/btsq5bWiZy7/lASkrnRuRKBEFZfFuek3H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjFxVt/btsq5bWiZy7/lASkrnRuRKBEFZfFuek3H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjFxVt%2Fbtsq5bWiZy7%2FlASkrnRuRKBEFZfFuek3H1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;343&quot; height=&quot;57&quot; data-filename=&quot;스크린샷 2023-08-14 오후 3.53.15.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Attention layer와 함께 Fully connected feed-forward network 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- ReLU activation 있는 2개의 선형 변환으로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt; position에 대해서 동일 | 각 층마다 다른 param(W1, W2) 사용 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;span style=&quot;text-align: start;&quot;&gt;➔ kenel size = 1 인 2 개의 convolution ??&lt;/span&gt;&lt;/i&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(input, output 차원은 512, hidden layer dim = 2048)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;➔ &lt;/span&gt;N 개의 encoder layer 중첩해 사용&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Decoder&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;1. Masked Multi-Head Attention&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(Decoder 파트의 &lt;b&gt;self-attention&lt;/b&gt;)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┕ sequence model의 &lt;i&gt;auto-regressive&lt;/i&gt; property 보존 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;➔&lt;span&gt; masking vector 사용해 이전 단어들만 참조하도록&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;(이전 단계의 출력을 사용하여 다음 단계의 출력 생성하는 특성)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┕ sclaed-dot product 에서 softmax의 input value 중 illegal connection 해당하는 값을 -&lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: start;&quot;&gt;&amp;infin;로 설정&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;2. Encoder - Decoder Attention&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- Q는 디코더, K &amp;amp; V는 인코더의 출력값에서 가져와&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 디코더의 벡터로 인코더의 모든 position &amp;nbsp;값 참조 ➔&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 디코더의 sequence vector가 인코더와 어떤 연관성을 가지는지 학습&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;3. Feed-Forward ➔ Add &amp;amp; Norm&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;4. Linear ➔ Softmax ➔ Output Probabilities&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Multi-Head Attention&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 어떤 단어(Q)가 다른 단어(Key)에 대해 연관성을 가지는가?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.25.08.png&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bD3YgB/btsq1ExZU3l/Kblnv8ScBJXo8fjpzekUxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bD3YgB/btsq1ExZU3l/Kblnv8ScBJXo8fjpzekUxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bD3YgB/btsq1ExZU3l/Kblnv8ScBJXo8fjpzekUxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbD3YgB%2Fbtsq1ExZU3l%2FKblnv8ScBJXo8fjpzekUxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;382&quot; height=&quot;268&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.25.08.png&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.39.29.png&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLKxj2/btsrgV5sJp4/7x7wOL3eoQAPH476zcmQ01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLKxj2/btsrgV5sJp4/7x7wOL3eoQAPH476zcmQ01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLKxj2/btsrgV5sJp4/7x7wOL3eoQAPH476zcmQ01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLKxj2%2FbtsrgV5sJp4%2F7x7wOL3eoQAPH476zcmQ01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;373&quot; height=&quot;62&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.39.29.png&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.39.40.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byw5YB/btsq501oUed/YLHQqvZ9iWWduuKKWWHPYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byw5YB/btsq501oUed/YLHQqvZ9iWWduuKKWWHPYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byw5YB/btsq501oUed/YLHQqvZ9iWWduuKKWWHPYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyw5YB%2Fbtsq501oUed%2FYLHQqvZ9iWWduuKKWWHPYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;452&quot; height=&quot;73&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.39.40.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.41.17.png&quot; data-origin-width=&quot;1874&quot; data-origin-height=&quot;366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kFixz/btsq2ksurmx/1wJKAjTZJ2ZhijiNrh69E1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kFixz/btsq2ksurmx/1wJKAjTZJ2ZhijiNrh69E1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kFixz/btsq2ksurmx/1wJKAjTZJ2ZhijiNrh69E1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFixz%2Fbtsq2ksurmx%2F1wJKAjTZJ2ZhijiNrh69E1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;660&quot; height=&quot;129&quot; data-filename=&quot;스크린샷 2023-08-14 오후 4.41.17.png&quot; data-origin-width=&quot;1874&quot; data-origin-height=&quot;366&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Q, K, V를 h번 linear layer를 거쳐 병렬적으로 scaled-dot product attention&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ 일반적으로 사용되는 additive attention | dot-product(multiplicative) attention&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ 보다 빠르고 공간 효율적&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;Scaled Dot-Product&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;: 내적 연산은 고속 처리 가능 -&amp;gt; 다른 attention 방법보다 빠르다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;: 정규화를 위한 scaling, 내적 연산을 통해 계산된 유사도 정규화 | 내적 연산 결과의 차원 수로 나누어 scaling&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;가중치의 분산 조절해 학습 안정화, 성능 향상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;: 병렬 처리 가능 =&amp;gt; 입력 시퀀스의 각 단어 사이 독립적 계산 가능&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;: 다양한 입력 시퀀스의 길이 처리 가능 (입력 길이에 대한 제한이 없다)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;❍ Dot-Product Attention&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-15 오후 8.51.49.png&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CaF6w/btsrgk5WQO9/GJRuvOzTi0OkKBTj98zTpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CaF6w/btsrgk5WQO9/GJRuvOzTi0OkKBTj98zTpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CaF6w/btsrgk5WQO9/GJRuvOzTi0OkKBTj98zTpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCaF6w%2Fbtsrgk5WQO9%2FGJRuvOzTi0OkKBTj98zTpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;227&quot; height=&quot;50&quot; data-filename=&quot;스크린샷 2023-08-15 오후 8.51.49.png&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;&lt;span style=&quot;color: #1a5490; text-align: start;&quot;&gt;❍ Additive Attention&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490;&quot;&gt;Q, K 결합 후, 학습 가능한 가중치 행렬 적용 &amp;gt; 활성화 함수 &amp;gt; att score 계산&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-15 오후 8.54.13.png&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pGTiG/btsrf2ErB1k/19iJGfsk4rzM8OjBQsdtEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pGTiG/btsrf2ErB1k/19iJGfsk4rzM8OjBQsdtEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pGTiG/btsrf2ErB1k/19iJGfsk4rzM8OjBQsdtEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpGTiG%2Fbtsrf2ErB1k%2F19iJGfsk4rzM8OjBQsdtEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;381&quot; height=&quot;43&quot; data-filename=&quot;스크린샷 2023-08-15 오후 8.54.13.png&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490; text-align: start;&quot;&gt;❍ Multi-Head Attention&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490; text-align: start;&quot;&gt;- 여러개의 독립적인 att 병렬 수행 후 결합&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1a5490; text-align: start;&quot;&gt;- Scaled Dot-Product att 기반&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Self-Attention&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 원소와 다른 원소들과의 관련성 계산 메커니즘&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(논문에서 기대하는 효과)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. layer 당 전체 계산 복잡도&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. sequential parallelize&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. network: long-range dependency&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt;&amp;nbsp; input | output sequence position 조합 간의 path가 짧을수록, long-range dependency 학습하기 쉬움&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ more interpretable model O&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;Training&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ English-German&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ WMT 2014 English-German Dataset&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt; 4.5 million sentence pairs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt; byte-pair encoding&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ English-French&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;┕ WMT 2014&lt;span&gt;&amp;nbsp;&lt;/span&gt;English-French Dataset&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt;&lt;span&gt; 36M&lt;/span&gt; sentences &amp;amp; word=piece vocabulary tokens&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍ 8 NVIDIA P100 GPU&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍ Adam optimizer&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍ Regularization&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┕&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;sub-layer output: dropout&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ embedding &amp;amp; positional encoding: dropout&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┕ 학습 중 label smoothing&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Encoder-Decoder 구조에서 일반적으로 사용되는 RNN layer ➔ multi-headed self-attention으로 대체&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Attention을 전적으로 사용하는 최초의 시퀀스 변환 모델 'Transformer' 제시&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[ref] &lt;a href=&quot;https://github.com/aladdinpersson/Machine-Learning-Collection/blob/master/ML/Pytorch/more_advanced/transformer_from_scratch/transformer_from_scratch.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>attention</category>
      <category>nIPS</category>
      <category>Transformer</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/86</guid>
      <comments>https://paatata.tistory.com/86#entry86comment</comments>
      <pubDate>Tue, 15 Aug 2023 22:39:37 +0900</pubDate>
    </item>
    <item>
      <title>[Python] 실행파일(.exe) 만들기 | pyinstaller</title>
      <link>https://paatata.tistory.com/85</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;❍ pyinstaller&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;파이썬 코드를 실행 파일 형태로 패키징하여 사용자가 별도의 python interpreter 없이 해당 프로그램 실행할 수 있도록한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;pip 통해 설치&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1691740596568&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pyinstaller&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- pyinstaller 사용하기 위해 프로그램에 필요한 라이브러리와 종속성 설치 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- pip로 설치할 경우, 일부 패키지 누락 가능 &amp;gt; 수동으로 패키지 설치 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(pathlib 모듈이 설치된 경우, pyinstaller 가 설치되지 않거나 실행되지 않음 &amp;gt; 새로운 가상환경 만들어 pyinstaller 환경 설정)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;❍ .py &amp;gt; .exe&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;해당 경로로 이동 후 명령어 수행&lt;/p&gt;
&lt;pre id=&quot;code_1691740768060&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pyinstaller [File].py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ build&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ dist&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ main.spec&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;실행 파일은 dist 폴더의 .py 파일 명으로 된 폴더에서 찾을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;❍ Options [&lt;a href=&quot;https://pyinstaller.org/en/stable/usage.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style4&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;-option&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: left;&quot;&gt;pyinstaller -w [File].py&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;-w | --windowed&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;Console 창 출력 X&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: left;&quot;&gt;pyinstaller -F [File].py&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;-F&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;exe 파일만 생성&lt;br /&gt;(큰 스케일의 프로그램의 경우 오래걸려)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: left;&quot;&gt;pyinstaller -n [NewFile].exe [File].py&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;-n&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;이름 지정&lt;br /&gt;(해당 옵션 사용하지 않으면 .py 이름으로 생성)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: left;&quot;&gt;pyinstaller --icon=icon.ico [File].py&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;--icon&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;아이콘 설정&lt;br /&gt;(아이콘 파일은 스크립드와 같은 폴더에 존재)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: left;&quot;&gt;pyinstaller -d [File].py&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;-d&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;debug 모드로 프로그램 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>pyinstaller</category>
      <category>Python</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/85</guid>
      <comments>https://paatata.tistory.com/85#entry85comment</comments>
      <pubDate>Fri, 11 Aug 2023 17:20:00 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] M1 | Unreal Engine 5 | Xcode</title>
      <link>https://paatata.tistory.com/84</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-10 오전 9.44.07.png&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s5LeK/btsqJfLwXvM/KkXYmMOwjNb2cYiWhsqsI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s5LeK/btsqJfLwXvM/KkXYmMOwjNb2cYiWhsqsI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s5LeK/btsqJfLwXvM/KkXYmMOwjNb2cYiWhsqsI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs5LeK%2FbtsqJfLwXvM%2FKkXYmMOwjNb2cYiWhsqsI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;241&quot; height=&quot;241&quot; data-filename=&quot;스크린샷 2023-08-10 오전 9.44.07.png&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;--%--Xcode&quot; style=&quot;background-color: #ffffff; color: #333333; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;Xcode&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;Metal compilder에 대한 Xcode 설치를 찾을 수 없습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;나한테 왜그래..&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;1. Xcode 없으면 설치&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;2. 실행 &amp;gt; 앱스토어에서 업데이트&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;Xcode &amp;gt; Preferences &amp;gt; Locations &amp;gt; Command Line Tools 변경&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;Terminal&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p id=&quot;--%--%ED%--%B-%EB%AF%B-%EB%--%--%EC%--%--%--%EC%--%--%EB%-E%--%--%EB%AA%--%EB%A-%B-%EC%--%B-%--%EC%-E%--%EB%A-%A-&quot; style=&quot;background-color: #ffffff; color: #333333; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;sudo&amp;nbsp;xcode-select&amp;nbsp;-s&amp;nbsp;/Applications/Xcode.app/Contents/Developer&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-08-10 오전 9.45.59.png&quot; data-origin-width=&quot;1438&quot; data-origin-height=&quot;742&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R0DxA/btsqJDZQVN6/FrmX4qQxVxhAyKhkvZxBl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R0DxA/btsqJDZQVN6/FrmX4qQxVxhAyKhkvZxBl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R0DxA/btsqJDZQVN6/FrmX4qQxVxhAyKhkvZxBl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR0DxA%2FbtsqJDZQVN6%2FFrmX4qQxVxhAyKhkvZxBl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;310&quot; data-filename=&quot;스크린샷 2023-08-10 오전 9.45.59.png&quot; data-origin-width=&quot;1438&quot; data-origin-height=&quot;742&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;실행은 되는데 35%에서 진행 안하는데 이게 맞나 (15분째 제자리)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;발열 심해지면 그냥 죽여버릴까&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;20분..&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;75%에서 컴퓨터 터질 것 같더니 잘 실행된다^^&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>m1</category>
      <category>Mac</category>
      <category>Unreal</category>
      <category>Xcode</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/84</guid>
      <comments>https://paatata.tistory.com/84#entry84comment</comments>
      <pubDate>Thu, 10 Aug 2023 11:07:04 +0900</pubDate>
    </item>
    <item>
      <title>[Pytorch] Implement GEDGNN</title>
      <link>https://paatata.tistory.com/83</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;차근차근&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GED: G1 -&amp;gt; G2 변환하기 위해 필요한 기본 작업의 최소 횟수 결정하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= A* beam sesarch&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= greedy algorithms: bipartite matching&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GED problem을 0과 1 사이의 SIMILARITY SCORE&amp;nbsp; 로 변환하는 방식으로 접근.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; model 은 편집 경로를 생성할 능력이 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;=====그럼 어떻게 해결?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. charge of predicting the GED Value and matching matrix&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;2. post-processing algorithm based on k-best matching&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- k 개의 가능한 노드 매칭 도출&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;===== 비교는?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;기존 GNN 기반 모델들과 비교해 MAE&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;SOTA searching algoritm: Noah 와 비교&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;A* beam-search&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- uses an extra parameter beamsize to control the maximum number of nodes&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;beam size를 사용해 a* 알고리즘과 비교해 큐 내의 노드의 최대 개수 제어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Greedy function&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- invoke the greedy function to estimate the cost of matching one node in the src graph to target graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 일치한 노드 쌍의 추정 비교를 더해 GED 계산 단순화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;GNN 기반&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- graph 쌍의 embedding 생성&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- MLP 입력해 GED 예측 값 얻어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- [limitation] cannot gnerate edit path&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;===== PROPOSE A NOVEL DEEP LEARNING FRAMEWORK: SOLVE GED problem&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;1. model: GEDGNN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- predicts a GED value&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- predicts a matching matrix by the cross matrix module&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; = matching matrix의 값들은 0과 1사이의 값, 노드 쌍이 얼마나 일치해야 하는지 정도&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;2. post-processing algorithm&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- GEDGNN이 생성한 matching matrix &amp;gt; 여러 개의 노드 매칭 도출 &amp;gt; edit path 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- k-best 이용&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;DEFINITIONS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;★ G = (V, E, L): &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;G1, G2 에 대한 operation&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. edge 추가 / 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. node 추가 / 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. node의 label 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;★ Graph Edit Path:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;G1 ➡ G2 로 변환하는 operation (o(1), ... o(k))&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;k는 GED(G1, G2) 보다 크거나 같으며, 최소 길이가 결국 GED&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;★ Bipartite Graph&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;main&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ &lt;b&gt;Trainer(args)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ load_data()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt; utils.py: load_all_graphs() | train, val, test, graphs 에 대한 정보 load&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;┖ label에 대한 정보 load&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;┖ ged_dict&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;utils.py: load_ged()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖ged = [(id_1,&amp;nbsp;id_2,&amp;nbsp;ged_value,&amp;nbsp;ged_nc,&amp;nbsp;ged_in,&amp;nbsp;ged_ie,&amp;nbsp;[best_node_mapping])]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ged_value = nc+ in + ed&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ transfer_data_to_torch()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ edge에 대한 index[], feature tensor&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ 그래프 mapping matrix (n x n)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;┖&lt;span&gt;&lt;span&gt; features = [torch.tensor(x) x를 tensor로 copy]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ &lt;s&gt;delta_graph : node 수가 10개 이상인 그래프에 대한 처리로 생략&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ init_graph_pairs()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ train / val / test 에 대한 그래프 정보&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Generate&amp;nbsp;465&amp;nbsp;training&amp;nbsp;graph&amp;nbsp;pairs.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Generate&amp;nbsp;10&amp;nbsp;*&amp;nbsp;100&amp;nbsp;val&amp;nbsp;graph&amp;nbsp;pairs.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Generate&amp;nbsp;10&amp;nbsp;*&amp;nbsp;100&amp;nbsp;testing&amp;nbsp;graph&amp;nbsp;pairs.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;Generate&amp;nbsp;10&amp;nbsp;*&amp;nbsp;100&amp;nbsp;testing2&amp;nbsp;graph&amp;nbsp;pairs.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ setup_model()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ self.model = &lt;b&gt;NNN&lt;/b&gt;(self.args, self.number_of_labels).to(self.device)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ &lt;b&gt;trainer.fit()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ optimizer &amp;nbsp;= Adam&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ model.train()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ epoch에 대해서&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ batches = training 그래프에 대해 random shuffle&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ loss 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ prediction analysis : (pre_ged - ground-truth) array가 parameter로 주어진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ result append(저장)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;trainer.save()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ torch.save(): model 상태, tensor를 파일로 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;trainer.score()&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ moedl.eval()&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ mse, mae, number_of_exact_prediciton, number_of_feasible_prediction&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ rho, tau, pk10, pk20&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ 10개의 testing graph에 대해&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ pack_graph_pair( (pair_type, i, j) ) # id_1, id_2&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖&lt;span&gt; 새로운 tensor dict return&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;class &lt;b&gt;NNN&lt;/b&gt;(torch.nn.Module):&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; __init__&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ agrs&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ number_labels&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ setup_layers()&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍ setup_layers(): gin&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ nn1&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ Linear&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ ReLU&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ Linear&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ BatchNorm1d&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ nn2&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ nn3&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ convolution_1 = GINConv(nn1)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ convolution_2&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ convolution_3&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ energy value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ attention value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;mapMatrix,&lt;span&gt;&amp;nbsp;&lt;/span&gt;costMatrix&amp;nbsp;계산:&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; ┖&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;GedMatrixModule&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;d: input feature, k: hidden layer size&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ init_weight_matrix()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ torch.nn.Parameter(torch.Tensor()) 학습 가능한 파라미터&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ torch.nn.init.xavier_uniform: 가중치 행렬 초기화&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ init_mlp(): k &amp;gt; 2k &amp;gt; k &amp;gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ layers.append( torch.nn.Linear(k, k * 2) )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ layers.append( torch.nn.ReLU )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ layers.append( torch.nn.Linear(k * 2, k) )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ layers.append( torch.nn.ReLU )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ layers.append( torch.nn.Linear(k, 1) )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ mlp =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;torch.nn.Sequential(*layers)&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ forward(embedding_1, embedding_2):&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ return similar matrix&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;❍ forward(data = dictionary):&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; ┖&lt;span&gt;&lt;b&gt; abstrac_features_1&lt;/b&gt; = convolutional_pass(index_1, features_1) # 노드 임베딩 결과&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖&lt;span&gt;&amp;nbsp;convolutional_pass(edge_index, features):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;┖ features = self.convolution_1(features, edge_index)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;┖ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= torch.nn.fucntional.relu&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= torch.nn.fucntional.dropout&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= self.convolution_2&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ┖ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= self.convolution_3&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ cost_matrix&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; ┖ map_matrix 계산&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #1b711d;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; calculate ged using map_matrix&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Softmax(dim=1)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bias_value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;┖ pooled_features = attention&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;┖ scores = fully_connected &lt;b&gt;XXX&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; score = sigmoid&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; return score, pre_ged.item(), map_matrix&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>GEDGNN</category>
      <category>pytorch</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/83</guid>
      <comments>https://paatata.tistory.com/83#entry83comment</comments>
      <pubDate>Tue, 8 Aug 2023 22:58:02 +0900</pubDate>
    </item>
    <item>
      <title>PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space</title>
      <link>https://paatata.tistory.com/81</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;[ 2023.07 ] 이해 X..&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;논문: &lt;a href=&quot;https://arxiv.org/pdf/1706.02413.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PointNet++:&amp;nbsp;Deep&amp;nbsp;Hierarchical&amp;nbsp;Feature&amp;nbsp;Learning&amp;nbsp;onPoint&amp;nbsp;Sets&amp;nbsp;in&amp;nbsp;a&amp;nbsp;Metric&amp;nbsp;Space&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 131355.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3BzEp/btsnGk3MYD5/gu4uRgzyZIwKrlJuCbZsCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3BzEp/btsnGk3MYD5/gu4uRgzyZIwKrlJuCbZsCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3BzEp/btsnGk3MYD5/gu4uRgzyZIwKrlJuCbZsCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3BzEp%2FbtsnGk3MYD5%2Fgu4uRgzyZIwKrlJuCbZsCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;743&quot; height=&quot;188&quot; data-filename=&quot;화면 캡처 2023-07-17 131355.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Charles R. Qi: 인공지능과 컴퓨터 비전 분야의 연구자&lt;/span&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Li Yi: 컴퓨터 비전, 그래픽스 분야의 연구자&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍&lt;span&gt; &lt;/span&gt;&lt;/span&gt;Hao Su: 컴퓨터 비전, 그래픽스 분야의 연구자&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍&lt;span&gt; &lt;/span&gt;&lt;/span&gt;Leonidas J. Guibas: 그래프 이론, 기하학 등에 대한 기여로 널리 알려짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;=&amp;gt; 딥러닝과 기하학 융합한 3D 모델의 생성, 분류. 등 다양한 알고리즘 개발, 연구 수행&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;포인트 클라우드 데이터를 다루기 위한 딥러닝 방법 제안, 3D&amp;nbsp; 모델의 분류 및 세그멘테이션 작업에 효과적으로 적용&lt;/span&gt;]&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Abstract&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;집합에 대한 이전 연구(Point Net)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 점들이 존재하는 공간의 지역적 구조 not capture =&amp;gt;&amp;nbsp; 미세한 패턴 인식하거나 복잡한 장면에 대한 일반화 능력이 제한된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;본 논문은 &lt;u&gt;&lt;b&gt;입력 집합을 계층적으로 분할해 PointNet을 반복적으로 적용하는 신경망 제안&lt;/b&gt;&lt;/u&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Exploting metric space distance: 제안하는 신경망은 지역적 특징을 학습할 수 있다. = 집합의 세부적인 패턴을 학습하고 일반화 능력 향상&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ 집합: 일반적으로 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;u&gt;다양한 밀도&lt;/u&gt;&lt;/span&gt;로 샘플링되기 때문에 균일한 밀도로 훈련된 네트워크의 성능이 크게 감소&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #dddddd; color: #000000; text-align: start;&quot;&gt;주어진 공간 내에서 점들이 서로 다른 간격으로 배치되는 것, EX) 3D 공간에 점들이 분포할 때, 일부 지역에서는 점들이 매우 가깝게 모여있지만, 다른 지역에서는 멀리 떨어져 있을 수 있어 =&amp;gt; 일정한 간격으로 샘플링 되기 어려워&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;실험 결과 PointNet++ 는 점 집합 특징을 학습할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;Results significantly better than state-of-the-art have been obtained on challenging benchmarks of &lt;u&gt;3D point cloud&lt;/u&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. Introduction&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet: 점 집합을 직접 처리&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 점에 대해 spatial encoding 학습 -&amp;gt; aggregate 모든 점들의 특징 -&amp;gt; global point cloud signiture로 모아&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;한계: local structure induced by the metric 포착하지 못해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;local structure dms CNN에 중요한 요소, 계층 구조를 통해 지역적 패턴 추상화 -&amp;gt; 새로운 경우에 더 나은 일반화 능력을 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet++&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;metric space에서 샘플링된 점들을 계층적으로 처리하는 신경망&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(1) partition the set of points into overlapping local regions (by distance metric)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;CNN과 비슷하게 작은 이웃 지역에서 local feature 추출 =&amp;gt; 큰 유닛으로 그룹화 되고 높은 수준의 특징 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 전체 집합의 특징을 얻을 때까지 반복&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. how to generate the partitioning of the point set&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. how to abstract sets of points or local features through a local feature learner&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;집합의 분할은 local feature learner의 가중치를 공유할 수 있어야 해 &amp;lt;-&amp;gt; CNN 과 유사하게 동작&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet: &amp;nbsp;abstracts sets of local points or features into higher-level representations&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Pointnet++: 입력 집합을 중첩된 분할에 대해 재귀적으로 PointNet 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 3D point cloud 같은 비정형 데이터에 효과적&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt; &amp;zwj;♀️ how to generate overlapping partitioning of a point set&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 partition은 유클리드 공간에서 이웃으로 정의, 중심 거리와 크기를 매개변수로 가짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;전체 집합을 커버하기 위해 중심 위치(centroid)들은 input 집합 중에서 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;FPS: Farthest Point Sampling 알고리즘&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;  &lt;/span&gt;에 의해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;선택된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;고정된 stride로 공간을 스캔하는 volumetric CNN과 달리 &amp;lt;-&amp;gt; local receptive field는 입력 데이터와 metric에 dependent.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; &lt;i&gt;local receptive field를 유연하게 설정 가능&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;적절한 이웃 반경의 크기를 결정하는 것 어려워 &amp;lt;= entanglemnet of feature scale 과 입력 집합의 non-uniformity 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; input point set은 다른 지역에서 가변적인 밀도를 가질 수 있다고 가정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2023-07-21 오후 9.19.45.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eD7wVi/btsoxGKGXDO/QxAvOTbBx7nSMxi0taV4k0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eD7wVi/btsoxGKGXDO/QxAvOTbBx7nSMxi0taV4k0/img.png&quot; data-alt=&quot;Figure 1: Visualization of a scan captured from a Structure Sensor (left: RGB; right: point cloud).&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eD7wVi/btsoxGKGXDO/QxAvOTbBx7nSMxi0taV4k0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeD7wVi%2FbtsoxGKGXDO%2FQxAvOTbBx7nSMxi0taV4k0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;394&quot; height=&quot;128&quot; data-filename=&quot;edited_스크린샷 2023-07-21 오후 9.19.45.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Figure 1: Visualization of a scan captured from a Structure Sensor (left: RGB; right: point cloud).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;CNN에서 local partition scale는 kernel 크기이다. 작은 kernel을 사용하는 것이 성능 향상에 도움.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;논문에서 수행한 집합 데이터는 이와 대조적인 결과.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;작은 neighborhood는 샘플링 결함으로 인해 너무 작은 점들로 구성되, PointNet이 패턴을 포착하는데 어려움&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[Contribution]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- leverages neighborhoods at multiple scales to achieve both robustness and detail capture.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다중 스케일 이웃을 활용해 robustness와 세부 정보 캡처 달성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 훈련 중 무작위 dropout: 네트워크는 다른 스케일에서 감지된 패턴 적응적으로 가중치 부여, 입력 데이터에 따라 다중 스케일 특징을 결합하는 방법 학습&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; Process point sets efficiently and robustly. 특히 3D point cloud에서 크게 차이나는 결과&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Problem Statement&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Method&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet + 계층 구조 = non-uniformly sampled point set에서도 특징 잘 학습 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1 Review of PointNet [20]: A Universal Continuous Set Function Approximator&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-21 오후 10.48.35.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSaW7O/btsowjW9bd9/3dNENPfT9H3KczKGroz3hK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSaW7O/btsowjW9bd9/3dNENPfT9H3KczKGroz3hK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSaW7O/btsowjW9bd9/3dNENPfT9H3KczKGroz3hK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSaW7O%2FbtsowjW9bd9%2F3dNENPfT9H3KczKGroz3hK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;74&quot; data-filename=&quot;스크린샷 2023-07-21 오후 10.48.35.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;집합 함수 f: 점들의 집합을 벡터로 매핑, 순서 무관하게 임의의 연속 집함 함수 근사&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;&amp;gamma;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;, &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 0.87em; color: #000000; letter-spacing: 0px;&quot;&gt;h: multi-layer perception (MLP): h=wjadml rhdrks dlszheld&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000; font-size: 12.1104px;&quot;&gt;PointNet은 다양한 스케일의 local context 포착하는 능력 부족 =&amp;gt; 계층적 특징 학습 프레임워크 소개&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-21 오후 10.48.51.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/de0EmR/btsozTI9bGJ/FoKnzC8512zd5yEw7ACGk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/de0EmR/btsozTI9bGJ/FoKnzC8512zd5yEw7ACGk0/img.png&quot; data-alt=&quot;Figure 2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/de0EmR/btsozTI9bGJ/FoKnzC8512zd5yEw7ACGk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fde0EmR%2FbtsozTI9bGJ%2FFoKnzC8512zd5yEw7ACGk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;258&quot; data-filename=&quot;스크린샷 2023-07-21 오후 10.48.51.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Figure 2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.2 Hierarchical Point Set Feature Learning&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet: 전체 점 집합을 집계하기 위해 single max pooling operation 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 점들을 계층적으로 그룹화 -&amp;gt; 점진적으로 더 큰 local region으로 추상화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Fig 2. 와 같이 여러 개의 집합 추상화 수준으로 구성. 각 level에서 점 집합 처리/추상화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 더 적은 요소를 가지는 새로운 집합 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 추상화 수준은 sampling layer, grouping laver, PointNet layer&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;(1) Sampling layer&amp;nbsp;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 점들로부터 일부 점 선택 -&amp;gt; 지역 영역의 centroid &amp;nbsp;정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 점들이 주어졌을 때 FPS 사용해 하위 집합 선택&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;-&amp;gt; 랜덤 샘플링과 비교 | 같은 수의 중심점이 주어졌을 때 더 나은 커버리지&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;데이터에 종속적인 방식으로 receptive field 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;(2) Grouping layer&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;constructs local region sets: 이웃 점들을 찾아 local region set 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;해당 layer의 출력은 점 집합을 N'개의 로컬 영역으로 그룹화 한 것.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 그룹의 중심점 주변의 K개의 점으로 구성, d 차원 좌표와 C 차원의 특징 가져&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet layer에서 로컬 영역 특징을 고정 길이 벡터로 변환해 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; PointNet++ 은 다양한 크기와 구성의 로컬 영역 다룰 수 있고 입력 데이터에 유연한 특징 추출 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* CNN에서 local region은 해당 픽셀로부터 일정한 Manhattan distance(kernel size) 내의 배열 인덱스 갖는 픽셀로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Point set sampled from a metric space: 이웃은 metric distance로 정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Ball query  &lt;/b&gt;&lt;/span&gt;:query point 으로부터 반경 내에 있는 모든 점 찾아.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(alterative range query = kNN, 고정된 개수의 인접한 점 찾기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;kNN과 달리, ball query는 fixed region scale을 보장해 지역 영역 특징이 공간적으로 더 일반화되도록 ㅇㅇ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;(3) PointNet layer&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;local region pattern 을 특징 벡터로 인코딩 하기 위해 mini-PointNet 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;N' 개의 점으로 이루어진 로컬 영역, 입력 데이터 크기 = N'*K'*(d+C)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 local region 은 중심점과 이웃 정보를 인코딩한 local 특징으로 추상화, 출력 데이터 크기 = N' * (d+C')&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;local 영역 내의 좌표는 중심점을 기준으로 상대적 좌표로 변환해 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 점을 중심점 기준으로 나타낼 수 있어 -&amp;gt; PointNet 이용해 local 영역의 패턴 학습 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;점들의 상대적 관계 캡처해 로컬 영억 특징 추출&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.3 Robust Feature Learning under Non-Uniform Sampling Density&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;point set &amp;gt; non-uniform density (different areas) &amp;gt; 특징 학습 어려워&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;dense data 에서 학습된 특징들은 샘플링된 지역에 일반화 X&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; spase point cloud 에 대해 훈련된 모델은&amp;nbsp;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;fine-grained local structures 인식하기 힘듦&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;===&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;point set을 가능한 정밀하게 , 높은 밀도 지역에서 미세한 정보까지 원해&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;- local pattern이 샘플링 deficiency로 손상될 수 있어&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;&amp;gt;&amp;gt; 더 넓은 범위에서 패턴 찾아야 해, 밀도에 적응하는 PointNet 제안&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;: &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt; learn to combine features from regions of different scales when the input sampling density changes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;===&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;이전: 각 abstraction level마다 &lt;b&gt;single&lt;/b&gt; scales &amp;nbsp;grouping과 특징 추출 포함&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; abstraction level마다 &lt;b&gt;multi&lt;/b&gt; scales 의 지역 패턴과 이를 local point densities(MSG &amp;amp; MRG)와 결합&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-21 오후 11.45.24.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coeoP1/btsox90g019/wVPFOTOqTOvKprJ3ySxykK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coeoP1/btsox90g019/wVPFOTOqTOvKprJ3ySxykK/img.png&quot; data-alt=&quot;(a) Multi-scale grouping (b) Multi-resolution grouping&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coeoP1/btsox90g019/wVPFOTOqTOvKprJ3ySxykK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoeoP1%2Fbtsox90g019%2FwVPFOTOqTOvKprJ3ySxykK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;240&quot; height=&quot;164&quot; data-filename=&quot;스크린샷 2023-07-21 오후 11.45.24.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;(a) Multi-scale grouping (b) Multi-resolution grouping&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;dense region-&amp;gt; detail feature 학습 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;-&amp;gt; sparse: sampling point 부족 === 넓은 영역에서의 패턴 찾아야해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;밀도에 따른 adaptive 학습 ? Point layer 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* grouping 하는 local region에 따라&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 여러 scale의 feature 합치는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;Multi-scale grouping (MSG)&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다른 scale로 그루핑 layer 적용, PointNet 사용해 특징 추출 &amp;gt; concatenate &amp;gt; multi scale feature 형성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; multi-scale Feature gkrtmqgkrl dnlgo&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;random input dropout 사용해 네트워크 훈련&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;drop out ratio &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;theta; uniformly sampled from [0, p]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;네트워크에 various sparsity, uniformity wprhd&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 각 중심점에 대해 local PointNet을 넓은 범위의 이웃에서 실행: 계산 비용 많이 들어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 최하위 수준에서 중심점 많아 시간 비용 크다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;Multi-resolution grouping (MRG)  &lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;MSG는 모든 centroid point에 대해서 넒은 영역의 neighborhood를 input으로 한PointNet을 사용하기 때문에 computationally expensive&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;density가 낮으면 앞의 vector가 뒤의 vector에 비해 신뢰도가 낮아지므로 , &lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;뒤의 vector에 weight에 더 높은 가중치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;low-level, large-scale의 neighborhood에 대해 특칭 추출할 때 효과적..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.4 Point Feature Propagation for Set Segmentation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Set abstraction layer: original point set -&amp;gt; subsampled&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* set segmentation (ex_ semantic point labeling)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;WANT: &lt;u&gt;obtain point feature for all original points.&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[해결방법]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; sample all point as centroids (all set abstraction levels)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;-&amp;gt; propagate features from subsampled point to origianl points&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;===&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* hierarchical propagation strategy with distance based interpolation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Propagation: Ni*(d+C) 점 -&amp;gt; Ni-1로 전파 (level i의 입력과 출력의 점 집합 크기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(보간 방법 kNN)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-21 오후 11.47.07.png&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqvAOv/btsoyaZaK7p/Uk0CCA9bqdtgTl1IbcLsM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqvAOv/btsoyaZaK7p/Uk0CCA9bqdtgTl1IbcLsM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqvAOv/btsoyaZaK7p/Uk0CCA9bqdtgTl1IbcLsM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqvAOv%2FbtsoyaZaK7p%2FUk0CCA9bqdtgTl1IbcLsM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;67&quot; data-filename=&quot;스크린샷 2023-07-21 오후 11.47.07.png&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;88&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Experiments&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-22 오후 4.59.13.png&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AFUuS/btsoDJzHj16/AEfSsSb9kUKNRWfGsUgib1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AFUuS/btsoDJzHj16/AEfSsSb9kUKNRWfGsUgib1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AFUuS/btsoDJzHj16/AEfSsSb9kUKNRWfGsUgib1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAFUuS%2FbtsoDJzHj16%2FAEfSsSb9kUKNRWfGsUgib1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;328&quot; data-filename=&quot;스크린샷 2023-07-22 오후 4.59.13.png&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.1 Point Set Classification in Euclidean Metric Space&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.2 Point Set Segmentation for Semantic Scene Labeling&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-22 오후 5.02.40.png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;312&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ewVjUb/btsoCkAao2L/KtXSdbNJGcAor5EKgKUnw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ewVjUb/btsoCkAao2L/KtXSdbNJGcAor5EKgKUnw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ewVjUb/btsoCkAao2L/KtXSdbNJGcAor5EKgKUnw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FewVjUb%2FbtsoCkAao2L%2FKtXSdbNJGcAor5EKgKUnw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;187&quot; data-filename=&quot;스크린샷 2023-07-22 오후 5.02.40.png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;312&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-22 오후 5.01.50.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;450&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfNyLS/btsoyaehKAi/yHcwmTfqUJcOmmrhjF68yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfNyLS/btsoyaehKAi/yHcwmTfqUJcOmmrhjF68yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfNyLS/btsoyaehKAi/yHcwmTfqUJcOmmrhjF68yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfNyLS%2FbtsoyaehKAi%2FyHcwmTfqUJcOmmrhjF68yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;477&quot; height=&quot;295&quot; data-filename=&quot;스크린샷 2023-07-22 오후 5.01.50.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;450&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.3 Point Set Classification in Non-Euclidean Metric Space&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.4 Feature Visualization.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. Related Work&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* distance metric, 정렬되지 않은 point set Convolution 적용되지 않는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;순서 없는 set에 딥러닝 적용 &amp;gt; local context capture X, global set 변환/정규화에 민감&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;6. Conclusion&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;메트릭 공간에서 샘플링된 point set 처리하기 위한 신경망&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 point set 중첩 분할 &amp;gt; 반복 &amp;gt; 거리 metric과 관련된 계층적 특징 학습&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;균일하지 않은 point sampling 문제 &amp;gt; local point 밀도에 따라 multi-scale 정보 집계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2개의 abstraction layer(MSG/MRG)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 각 계층에 더 많은 계산 &amp;gt; 추론 속도 가속화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Local feature extraction&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= scale/dense variety 문제 해결&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PointNet, metric space local structure 학습시 반영하지 못한 점 보완&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 작은 pattern에 대한 인식&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; complex scene 에 대한 일반화 높여&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* input point set &amp;gt; nested partitioning &amp;gt; PointNet : recursive 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; hierachical neural network&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* point set partition 생성 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* local feature learniner(PointNet) 통해 추상화 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= 각 partition은 Convolution과 비슷하게 가중치 공유하는 공통 구조 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여러개의 set abstraction layer&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- sample / group / PointNet layer&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;++ PointNet&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rUBrK/btsowX06yXq/S5QBRhFDTataxq7hFkmWkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rUBrK/btsowX06yXq/S5QBRhFDTataxq7hFkmWkk/img.png&quot; data-alt=&quot;PointNet: Classification &amp;amp;amp; Segmentation Network&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rUBrK/btsowX06yXq/S5QBRhFDTataxq7hFkmWkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrUBrK%2FbtsowX06yXq%2FS5QBRhFDTataxq7hFkmWkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;877&quot; height=&quot;327&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PointNet: Classification &amp;amp; Segmentation Network&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Point Cloud - PointNet&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Unordered: 데이터 정렬 기준 정할 수 없음 &amp;lt;- 순서 없음 = 딥러닝에서 치명적&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Interaction among points, 이웃 점들과의 관계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Invariance under transformation, 변환줘도 출력 결과 같아야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>PoinNet++</category>
      <category>point cloud</category>
      <category>PointNet</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/81</guid>
      <comments>https://paatata.tistory.com/81#entry81comment</comments>
      <pubDate>Sun, 30 Jul 2023 17:00:39 +0900</pubDate>
    </item>
    <item>
      <title>[추가업무] Python | 폴더 탐색 | 파일명 변경</title>
      <link>https://paatata.tistory.com/79</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Dataset download&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-25 142433.png&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;710&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mh1W7/btsoTqHIe9l/XWzDSlzg0ucAgNRarsEtt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mh1W7/btsoTqHIe9l/XWzDSlzg0ucAgNRarsEtt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mh1W7/btsoTqHIe9l/XWzDSlzg0ucAgNRarsEtt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmh1W7%2FbtsoTqHIe9l%2FXWzDSlzg0ucAgNRarsEtt1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;447&quot; height=&quot;323&quot; data-filename=&quot;화면 캡처 2023-07-25 142433.png&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;710&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt; 폴더 구조에 맞추어 파일 명 변경하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. os.walk(top, topdwon=True, onerror=-None, followlink=False)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;top: 시작 dir의 경로&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;topdown: default = True&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;onerror: 순회 중 오류가 발생했을 때 호출할 함수 지정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;followlinks: 심볼릭 링크 따라가지 않고 직접 순회&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;
&lt;pre class=&quot;lua&quot;&gt;&lt;code&gt;# 하위 디렉토리(Sub directory) 내의 *.csv 파일도 검색하여 리스트 만들 수 있도록 수정
def origin(pDir_path, pExt):

    file_path_lists = []
    file_name_lists = []
    print(f'root: {pDir_path}')
    for (path, dir, files) in os.walk(pDir_path):
        print(f'    path: {path}')
        print(f'        -dir: {dir}')
        for filename in files:
            full_filename = os.path.join(path, filename)
            base = os.path.basename(full_filename)
            base_include_path = os.path.abspath(full_filename)
            ext = os.path.splitext(base)[1]
            if ext == pExt:
                file_name = os.path.splitext(base)[0]  # file name
                ext_name = os.path.splitext(base)[1]  # extension name
                file_path_lists.append(base_include_path)
                file_name_lists.append(file_name)
    return file_name_lists, file_path_lists&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-25 175928.png&quot; data-origin-width=&quot;1687&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YeaMj/btsoZcCB6P3/pkufOdFkxxKWCWAkxY5i3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YeaMj/btsoZcCB6P3/pkufOdFkxxKWCWAkxY5i3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YeaMj/btsoZcCB6P3/pkufOdFkxxKWCWAkxY5i3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYeaMj%2FbtsoZcCB6P3%2FpkufOdFkxxKWCWAkxY5i3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1687&quot; height=&quot;1064&quot; data-filename=&quot;화면 캡처 2023-07-25 175928.png&quot; data-origin-width=&quot;1687&quot; data-origin-height=&quot;1064&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 현재 dir의 경로 (string)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 하위 dir 리스트&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 현재 dir 에 있는 모든 파일 리스트 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-25 173450.png&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6bfAt/btso4zjYtG3/dlpeLm9yuQB2S4QJDDlarK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6bfAt/btso4zjYtG3/dlpeLm9yuQB2S4QJDDlarK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6bfAt/btso4zjYtG3/dlpeLm9yuQB2S4QJDDlarK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6bfAt%2Fbtso4zjYtG3%2FdlpeLm9yuQB2S4QJDDlarK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;703&quot; height=&quot;188&quot; data-filename=&quot;화면 캡처 2023-07-25 173450.png&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-25 173431.png&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;295&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsWgcM/btso11A6fGg/qUKfhurLF8padskzLOHiok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsWgcM/btso11A6fGg/qUKfhurLF8padskzLOHiok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsWgcM/btso11A6fGg/qUKfhurLF8padskzLOHiok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsWgcM%2Fbtso11A6fGg%2FqUKfhurLF8padskzLOHiok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;710&quot; height=&quot;242&quot; data-filename=&quot;화면 캡처 2023-07-25 173431.png&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;295&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 매번 경로 입력하기 번거로움 -&amp;gt; 최상위 폴더에서 접근 가능하도록 수정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-26 150531.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duFXkL/btso6RKQFdv/sslmdUfeiWcQKGaqdknMtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duFXkL/btso6RKQFdv/sslmdUfeiWcQKGaqdknMtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duFXkL/btso6RKQFdv/sslmdUfeiWcQKGaqdknMtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduFXkL%2Fbtso6RKQFdv%2FsslmdUfeiWcQKGaqdknMtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;108&quot; data-filename=&quot;화면 캡처 2023-07-26 150531.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-26 150400.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;515&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/20Fg4/btso22fvXor/fgwHNpbBQO3c8Biokifha0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/20Fg4/btso22fvXor/fgwHNpbBQO3c8Biokifha0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/20Fg4/btso22fvXor/fgwHNpbBQO3c8Biokifha0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F20Fg4%2Fbtso22fvXor%2FfgwHNpbBQO3c8Biokifha0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;445&quot; data-filename=&quot;화면 캡처 2023-07-26 150400.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;515&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;☞&lt;span&gt; 센서 별로 폴더 구조 다름 (&lt;/span&gt;&lt;/span&gt;CSV 폴더 고려 X)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 같은 경로 내에서만 파일 명 변경 가능하도록&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;☞ 별도의 예외처리 고려 X&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/79</guid>
      <comments>https://paatata.tistory.com/79#entry79comment</comments>
      <pubDate>Wed, 26 Jul 2023 15:50:44 +0900</pubDate>
    </item>
    <item>
      <title>[SetUp] Window | Unreal Engine | 조작 방법</title>
      <link>https://paatata.tistory.com/77</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;● 에픽게임즈 계정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● 깃허브 계정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● Visual Studio (Community ver. 가능)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;.Unreal Engine version &amp;lt;-&amp;gt; Visual Studio 호환성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;버전 호환성 링크&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● Unreal Engine 4.22 == Visual Studio 2017, 2019&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● Unreal Engine 4.25 == only Visual Studio 2019&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #373a3c; text-align: center;&quot;&gt;☞ Visual Studio 2022.. ?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #373a3c; text-align: center;&quot;&gt;.NET Framework 4.5 ~ 4.6.2&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #373a3c; text-align: center;&quot;&gt;C# 및 Visual Basic (build 시 필요한 툴 = C#)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #373a3c; text-align: center;&quot;&gt;Unreal Engine 설치 관리자&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Invited Repository: _&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Open Source X&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;a href=&quot;https://www.unrealengine.com/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;에픽게임즈 홈페이지&lt;/a&gt; 로그인 &amp;gt; 계정 설정 &amp;gt; 깃허브 계정과 연결&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;등록한 이메일로 깃허브 repo 초대 메일 수신 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Build&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Unreal Engine repository&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ Setup.bat&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ GenerateProjectFiles.bat&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;┖ UEx.shln&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Setup.bat &amp;gt; binary content &amp;amp; 필수 구성 요소 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GenerateProjectFiles.bat&amp;nbsp; &amp;gt; 프로젝트 파일 생성 (.Net 패키지 누락 &amp;gt; 프레임워크 버전 추가 설치)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;UEx.sln &amp;gt; Visual Studio 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;'F5' &amp;gt; 전체 빌드 (시간 오래 걸림)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;build 후 프로젝트 폴더 'Engines\Binaries\'에서 주요 툴 확인 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;●&lt;span&gt; UExEditor.exe: 언리얼 에디터 실행파일&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;●&lt;span&gt; UnrealInsights.exe: 프로파일러 툴 (&lt;a href=&quot;https://docs.unrealengine.com/4.27/ko/TestingAndOptimization/PerformanceAndProfiling/UnrealInsights/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;●&lt;span&gt; NetworkProfiler.exe:&amp;nbsp; 네트워크 프로파일러 툴 (&lt;a href=&quot;https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/NetworkProfiler/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;++ Market Place&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;게임 참고용 assets, contents &amp;gt; Art, Sound contents 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;사용하려면 &lt;a href=&quot;https://store.epicgames.com/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Epicgames launcher&lt;/a&gt; 설치 필요&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Unreal 조작 방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● 좌표계: 전방 x, 옆 y, 위 z&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● 단위: cm&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● View port 조작&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-25 100454.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bflBJS/btsoQsZ8kkw/xZ7L50tVIHN7rTkc6IXfVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bflBJS/btsoQsZ8kkw/xZ7L50tVIHN7rTkc6IXfVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bflBJS/btsoQsZ8kkw/xZ7L50tVIHN7rTkc6IXfVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbflBJS%2FbtsoQsZ8kkw%2FxZ7L50tVIHN7rTkc6IXfVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;367&quot; data-filename=&quot;화면 캡처 2023-07-25 100454.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>Unreal Engine</category>
      <category>Visual Studio</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/77</guid>
      <comments>https://paatata.tistory.com/77#entry77comment</comments>
      <pubDate>Tue, 25 Jul 2023 10:08:42 +0900</pubDate>
    </item>
    <item>
      <title>[Unreal] Real-time motion capture (IMU) data retarget to Unreal</title>
      <link>https://paatata.tistory.com/76</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;W - Go Forward / S - Go Backward&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;A - Move Left / D - Move Right&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4fGmm/btsoCiYgTBg/kmHgefLhzgjn0NkZIuz5uK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4fGmm/btsoCiYgTBg/kmHgefLhzgjn0NkZIuz5uK/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part12.00_01_27_46.Still007.webp&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4fGmm/btsoCiYgTBg/kmHgefLhzgjn0NkZIuz5uK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4fGmm%2FbtsoCiYgTBg%2FkmHgefLhzgjn0NkZIuz5uK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WRa9a/btsoKZpYWs0/o4fXhGEjYcFxbPgiUCSz6k/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WRa9a/btsoKZpYWs0/o4fXhGEjYcFxbPgiUCSz6k/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part12.00_00_09_40.Still006.webp&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WRa9a/btsoKZpYWs0/o4fXhGEjYcFxbPgiUCSz6k/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWRa9a%2FbtsoKZpYWs0%2Fo4fXhGEjYcFxbPgiUCSz6k%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;https://www.patreon.com/posts/64346879&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CXhHh/btsoQskQ2x7/0KI1JAiQI29HIHVfiHBENK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CXhHh/btsoQskQ2x7/0KI1JAiQI29HIHVfiHBENK/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part12.00_07_20_16.Still012.webp&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CXhHh/btsoQskQ2x7/0KI1JAiQI29HIHVfiHBENK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCXhHh%2FbtsoQskQ2x7%2F0KI1JAiQI29HIHVfiHBENK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEbSzl/btsoEqBqB8j/ept3dSlgYHFuWkxokOZKGk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEbSzl/btsoEqBqB8j/ept3dSlgYHFuWkxokOZKGk/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part12.00_09_29_23.Still013.webp&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEbSzl/btsoEqBqB8j/ept3dSlgYHFuWkxokOZKGk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEbSzl%2FbtsoEqBqB8j%2Fept3dSlgYHFuWkxokOZKGk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;UDP Controller: access the human rigid body pars based on the sensor name &amp;gt; manipulate the rotational angels (rotation x, y, z | ptich, roll, yaw )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Add 3rd persion cahracter&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;content pack(add feature) &amp;gt; click add &amp;gt; 3rd person&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;3rd Person BluePrint: Event Graph&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;action defines: movement, jump, ...&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;All keys are associated for a specific control in the project settings &amp;gt; Engine &amp;gt; Input&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; bind all actions input based on controllers&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ Some animations: Mannequin &amp;gt; Animation folder&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: created manually (by bone rotation every key frames)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Sensor Mapping to 3rd Person Character&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Retarget: sensor details &amp;lt;-&amp;gt; human rigid body&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;- SensorTest_Human&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;- UDPController_Human (blueprint calss)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;UDP controller blueprint&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;1. get the player character by calling fucn &quot;&lt;u&gt;get player character&lt;/u&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- multiple character: use player index to respective player character (default: 0)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;2. get Anim Instance &amp;gt; cast To ThirdPerson&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;3. Switch case statement&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- input: sensor name: ex_ upperarm_I / lowerarm_I&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Project Folder&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Mannequin&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; |_Character&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |_Mesh: all the different skeletal mesh: male &amp;amp; female (can change character type)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; |_Bluprint&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |_instnace of the skeleton &amp;gt; properties &amp;gt; Mesh&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;NEXT...&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;b&gt;1. SetUp: Unreal Engine&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;CSV -&amp;gt; data read &amp;gt; character mapping: action check&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(JSON format)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;part12.00_16_05_08.Still017.webp&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brC30d/btsoDJadMg7/Nmv8osGdUETwOXT4bQQ7ek/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brC30d/btsoDJadMg7/Nmv8osGdUETwOXT4bQQ7ek/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brC30d/btsoDJadMg7/Nmv8osGdUETwOXT4bQQ7ek/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrC30d%2FbtsoDJadMg7%2FNmv8osGdUETwOXT4bQQ7ek%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;619&quot; height=&quot;348&quot; data-filename=&quot;part12.00_16_05_08.Still017.webp&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djzjbu/btsoSmrlged/cIzavLpCA8mHgngBv8Naw1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djzjbu/btsoSmrlged/cIzavLpCA8mHgngBv8Naw1/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part11.00_01_22_15.Still007.webp&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djzjbu/btsoSmrlged/cIzavLpCA8mHgngBv8Naw1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdjzjbu%2FbtsoSmrlged%2FcIzavLpCA8mHgngBv8Naw1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mnl9k/btsoKYyvLwQ/9ige9YAErchYhwf3DLPdG1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mnl9k/btsoKYyvLwQ/9ige9YAErchYhwf3DLPdG1/img.webp&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;461&quot; data-filename=&quot;part11.00_03_08_19.Still008.webp&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mnl9k/btsoKYyvLwQ/9ige9YAErchYhwf3DLPdG1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmnl9k%2FbtsoKYyvLwQ%2F9ige9YAErchYhwf3DLPdG1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;●&lt;span&gt; Using asynchronous UDP protocol: transmit the data to Unreal Engine.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;● Establishing an UDP receiver in Unreal Engine. &amp;lt;- capture data: transmitted from sensor&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1690248467497&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Strign GetJSONString(String sensorName, float pitch, float roll, float yaw)
{
	StaticJsonDocument&amp;lt;1024&amp;gt; staticJsonDocument;
    StaticJsonDocument[&quot;name&quot;] = sensorName;
    StaticJsonDocument[&quot;pitch&quot;] = ptich;
    StaticJsonDocument[&quot;roll&quot;] = roll;
    StaticJsonDocument[&quot;yaw&quot;] = yaw;
    
    char docBuf[1024];
    serializeJson(staticJsonDocument, docBuf);
    
    return String(docBuf);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. Unreal Engine: How to read csv file&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- FFileHelper class&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- FString class&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;❍ Create Data Table (CSV)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[&lt;a href=&quot;https://wergia.tistory.com/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참고1&lt;/a&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;구조체 생성 시,&amp;nbsp;USTURCT, GENRATE_BODY() 매크로 사용해줘야 Editor interface 에서 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;CSV 파일에서 1열에 있는 데이터 -&amp;gt; 언리얼 엔진에서 자동으로 key&amp;nbsp; 값으로 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Import CSV file&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;구조체에 연결 후 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ Load Data Table&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;data에 따라.. 보통 변하지 않는 데이터는 게임 앱 초기화 할 때 불러들여 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[Reference]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=AbpgH0mMe34&quot;&gt;https://www.youtube.com/watch?v=AbpgH0mMe34&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=AbpgH0mMe34&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/qxLGc/hyTpbgulQu/VKuhWq2zSAMpGfC6W2TFk1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/AbpgH0mMe34&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.patreon.com/posts/real-time-motion-64976098&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.patreon.com/posts/real-time-motion-64976098&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>Mocap suit</category>
      <category>motion capture</category>
      <category>Unreal</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/76</guid>
      <comments>https://paatata.tistory.com/76#entry76comment</comments>
      <pubDate>Mon, 24 Jul 2023 15:39:36 +0900</pubDate>
    </item>
    <item>
      <title>[Setup] Window | Anaconda | Pytorch | CUDA | CUDNN</title>
      <link>https://paatata.tistory.com/74</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;CUDA - torch 버전 차이로 삽질&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;뭐하려고 했는지 모르겠&lt;/s&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;사전 확인: GPU 체크&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PC에 장착된 GPU 모델 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 152431.png&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBABS2/btsov5XDBxi/ZtBZcAcbzJYlOgnvzLBpKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBABS2/btsov5XDBxi/ZtBZcAcbzJYlOgnvzLBpKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBABS2/btsov5XDBxi/ZtBZcAcbzJYlOgnvzLBpKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBABS2%2Fbtsov5XDBxi%2FZtBZcAcbzJYlOgnvzLBpKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;605&quot; height=&quot;224&quot; data-filename=&quot;화면 캡처 2023-07-21 152431.png&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ NVIDIA GeForce GTX 1080 Ti&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 153540.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;453&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byujRV/btsovV8JZtf/W9q1PYHLvKQ6aSZjJpYKF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byujRV/btsovV8JZtf/W9q1PYHLvKQ6aSZjJpYKF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byujRV/btsovV8JZtf/W9q1PYHLvKQ6aSZjJpYKF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyujRV%2FbtsovV8JZtf%2FW9q1PYHLvKQ6aSZjJpYKF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;453&quot; data-filename=&quot;화면 캡처 2023-07-21 153540.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;453&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ &lt;/span&gt;CUDA Version: 12.0: 내 그래픽 카드에 설치할 수 있는 버전&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Anaconda 설치&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ &lt;/span&gt;python 3.9.13&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ &lt;/span&gt;conda 23.5.2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;CUDA 설치&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 154501.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csPukh/btsouXGs4dv/OOj7qAPTvG2wXvr90nnw11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csPukh/btsouXGs4dv/OOj7qAPTvG2wXvr90nnw11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csPukh/btsouXGs4dv/OOj7qAPTvG2wXvr90nnw11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsPukh%2FbtsouXGs4dv%2FOOj7qAPTvG2wXvr90nnw11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;110&quot; data-filename=&quot;화면 캡처 2023-07-21 154501.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;nvcc -V로 버전 확인 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ CUDA: V11.2.67&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;CUDNN Version Check (CUDNN 8 이후)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689922369690&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;C: &amp;gt; Program Files &amp;gt; NVIDIA GPU Computing Toolkit &amp;gt; CUDA &amp;gt; v11.2(자신 버전) &amp;gt; include &amp;gt; cudnn_version.h&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 155115.png&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FmTmy/btsovslGOca/pIvwJcUwOsizKv2EaF47AK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FmTmy/btsovslGOca/pIvwJcUwOsizKv2EaF47AK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FmTmy/btsovslGOca/pIvwJcUwOsizKv2EaF47AK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFmTmy%2FbtsovslGOca%2FpIvwJcUwOsizKv2EaF47AK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;619&quot; height=&quot;230&quot; data-filename=&quot;화면 캡처 2023-07-21 155115.png&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;230&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;MAJOR - MINOR - PATCHLEVEL 순으로 버전 = 8.1.0&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Torch 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://pytorch.org/get-started/locally/&quot;&gt;공식 홈페이지&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1689923797871&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;PyTorch&quot; data-og-description=&quot;An open source machine learning framework that accelerates the path from research prototyping to production deployment.&quot; data-og-host=&quot;pytorch.org&quot; data-og-source-url=&quot;https://pytorch.org/get-started/locally/&quot; data-og-url=&quot;https://www.pytorch.org&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Xw4C6/hyTnLBJ0pu/vQ6vf73QX4HuF2C8KZcBTk/img.png?width=2500&amp;amp;height=2500&amp;amp;face=0_0_2500_2500&quot;&gt;&lt;a href=&quot;https://pytorch.org/get-started/locally/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pytorch.org/get-started/locally/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Xw4C6/hyTnLBJ0pu/vQ6vf73QX4HuF2C8KZcBTk/img.png?width=2500&amp;amp;height=2500&amp;amp;face=0_0_2500_2500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;PyTorch&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;An open source machine learning framework that accelerates the path from research prototyping to production deployment.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pytorch.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689924182888&quot; class=&quot;angelscript&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689923858899&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import torch

print(torch.cuda_is_available()) # True&lt;/code&gt;&lt;/pre&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>CUDA</category>
      <category>torch</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/74</guid>
      <comments>https://paatata.tistory.com/74#entry74comment</comments>
      <pubDate>Fri, 21 Jul 2023 16:18:48 +0900</pubDate>
    </item>
    <item>
      <title>SimGNN: A Neural Network Approach to Fast Graph Similarity Computation</title>
      <link>https://paatata.tistory.com/73</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;논문: &lt;a href=&quot;https://arxiv.org/pdf/1808.05689.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SimGNN:&amp;nbsp;A&amp;nbsp;Neural&amp;nbsp;Network&amp;nbsp;Approach&amp;nbsp;to&amp;nbsp;Fast&amp;nbsp;Graph&amp;nbsp;Similarity&amp;nbsp;Computation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-18 오후 10.20.49.png&quot; data-origin-width=&quot;1386&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckvxcF/btsn0GMvSRL/MX54Ucfc0taCIa2M32kyek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckvxcF/btsn0GMvSRL/MX54Ucfc0taCIa2M32kyek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckvxcF/btsn0GMvSRL/MX54Ucfc0taCIa2M32kyek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckvxcF%2Fbtsn0GMvSRL%2FMX54Ucfc0taCIa2M32kyek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1386&quot; height=&quot;374&quot; data-filename=&quot;스크린샷 2023-07-18 오후 10.20.49.png&quot; data-origin-width=&quot;1386&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ WSDM 2019&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍&lt;/span&gt;&amp;nbsp;network embedding, neural networks, graph similarity computation, graph edit distance&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;ABSTRACT&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 유사도 검색 &amp;gt; 그래프 편집거리(GED), 최대 공통 부분 그래프(MCS)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 문제를 해결하기 위한 새로운 신경망 기반 접근법 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 학습 가능한 임베딩 함수 설계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 그래프를 임베딩 벡터로 매핑: 그래프의 요약 정보 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 새로운 attention 메커니즘 도입: 유사도 지표에 따라 중요 노드 강조&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. pairwise node comparison: &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;supplement the graph-level embeddings with fine-grained nodelevel information&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. INTRODUCTION &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;사용자 쿼리가 주어졌을 때, DB에서 유사한 그래프 집합 검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 유사도: GED, MCS 를 지표로 사용 -&amp;gt; 계산 작업은 NP-Complete문제로 알려져 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qb6ye/btsokDs2R1y/FVudSrgDCnCBVUaZLYOohk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qb6ye/btsokDs2R1y/FVudSrgDCnCBVUaZLYOohk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qb6ye/btsokDs2R1y/FVudSrgDCnCBVUaZLYOohk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqb6ye%2FbtsokDs2R1y%2FFVudSrgDCnCBVUaZLYOohk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;462&quot; height=&quot;289&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;P Problem&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: Polybnomial Time 안에 해결할 수 있는 문제, 문제에 대해 동일한 해답을 주는 알고리즘 있을 때 해당 문제는 해결 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;NP Problem&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;:Non-determinstic Polynomial Tme Probelm, 다항식 시간 내에 해결할 수 있는지 없는지 모르는 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;P &amp;sube; NP라고 할 수 있지만 NP &amp;sube; P인지는 알 수 없음)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;NP-Hard Problem&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;&quot;모든 NP 문제를 다항식 시간 내에 'A'&amp;nbsp; 문제로 reduce/transform 할 수 있는 경우 'A' 문제를 NP-hard라고 한다.&quot;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;=&amp;gt; &lt;/i&gt;NP에 속하는 모든 문제에 대해, 다른 문제로 polynomial-time many-one reducible&amp;nbsp; 되는 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;NP-Complete Problem&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;NP-Hard 이면서 NP 에 속하는 문제&lt;i&gt;&lt;b&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ 그래프 유사도 검색 방안&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;1. Pruning-Verification framework&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;쿼리에 대한 정확한 그래프 유사도 계산의 총 양을 데이터베이스 인덱싱 기법과 프루닝을 이용해 줄여&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&amp;gt; 그래프 유사성 계산의 시간 복잡도는 해결 못해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;2. Reduce the cost of graph similarity computation&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;- 정확한 similarity metirc을 계산하는 대신, approximate value를 빠르고 heuristic 한 방법으로 찾아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;-&amp;gt; 복잡한 설계/구현 필요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;-&amp;gt; 시간 복잡도 여전히 polynomial or sub-exponential &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;(A*-Beamsearch)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=====&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;논문에서는 속도를 높일 수 있는 새로운 접근법 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Reduce the cost of graph similarity computation =&amp;gt; approximate similarities를 직접 계산하는 대신,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;combinatorial search 사용 -&amp;gt; Learning problem&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;= 한 쌍의 그래프를 유사성 점수로 매핑하는 신경망 기반 함수 설계&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;[Training Stage]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;predicted similarity scores &amp;lt;-&amp;gt; ground truth&amp;nbsp; 차이 최소화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- training data: pair of graphs together with their true similarity score&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;[Test Stage]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;학습된 함수에 임의의 그래프 쌍 제공, 유사성 점수 예측&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; SimGNN: Similarity Computation via Graph Neural Networks&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ &lt;/span&gt;SimGNN 설계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(1) Representation-invariant: 동일한 그래프를 노드의 순서를 바꾸면 서로 다른 인접 행렬로 나타낼 수 있다 =&amp;gt; 계산된 유사성 점수는 이런 변화에 불변해야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(2) Inductive: should generalize to unseen graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(3) Learnable: 모델은 학습을 통해 매개변수를 조정, 어떤 similarity metric에도 적응해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 학습 가능한 임베딩 함수 설계, &lt;u&gt;&lt;b&gt;각각의 그래프 &amp;gt; 임베딩 벡터&lt;/b&gt;&lt;/u&gt;로 변환: 노드 수준의 임베딩 종합해 그래프 전체를 요약&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 특정 유사도 지표에 따라 전체 그래프에서 중요한 노드 선택하기 위한 새로운 어텐션 메커니즘&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 111415.png&quot; data-origin-width=&quot;312&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHZZNO/btsohoQUmbE/a8BruY3MvUN3BdGHoY133K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHZZNO/btsohoQUmbE/a8BruY3MvUN3BdGHoY133K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHZZNO/btsohoQUmbE/a8BruY3MvUN3BdGHoY133K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHZZNO%2FbtsohoQUmbE%2Fa8BruY3MvUN3BdGHoY133K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;351&quot; height=&quot;208&quot; data-filename=&quot;화면 캡처 2023-07-20 111415.png&quot; data-origin-width=&quot;312&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 A는 임베딩 공간에서 Q와 가까워, 실제 유사성: A와 Q 비슷&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 임베딩 기반의 유사도 계산은 매우 빠르다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 그래프 수준의 임베딩 -&amp;gt; 노드 수준 보완 : pairsiwe node comparision method&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;하나의 고정 길이 임베딩은 그래프 단위로 불완전 &amp;lt; 두 그래프의 노드 쌍별 유사도 점수 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 유사도 점수로부터 &lt;u&gt;&lt;b&gt;히스토그램&lt;/b&gt; &lt;/u&gt;추출, 그래프 수준 정보와 결합&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;? 히스토그램의 사용 이유 ?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 정보 요약: 노드 쌍 별 유사도 점수 분포를 그대로 사용 X, 히스토그램으로 나타내면 데이터 특성을 한눈에 파악 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. 차원축소: 노드 쌍별 유사도 직접 사용보다 히스토그램 사용 시, 데이터 차원 줄일 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;❍ CONTRIBUTION&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;- 그래프 유사도 계산이라는 문제를 학습 문제로 고려, 이를 해결하기 위한 SimGNN 이라는 신경망 기반 접근 방식 제안&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;- 효율적/효과적인 어텐션 메커니즘 제안 -&amp;gt; 그래프 간 유사성 보존하는 그래프 레벨의 임베딩 만들어내는데 필요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;- pairwise 노드 비교 방법 사용 -&amp;gt; 그래프 수준 임베딩 보완 : 그래프 간 유사성 보존하는 효과적인 임베딩 얻어&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;- 실제 네트워크 데이터셋 기반으로 실험 진행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. PRELIMINARIES &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Graph Edit Distance (GED)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 142400.png&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAxqCT/btsoiYd7IBb/cKwXmItft79WBWgHlKLin0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAxqCT/btsoiYd7IBb/cKwXmItft79WBWgHlKLin0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAxqCT/btsoiYd7IBb/cKwXmItft79WBWgHlKLin0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAxqCT%2FbtsoiYd7IBb%2FcKwXmItft79WBWgHlKLin0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;383&quot; height=&quot;118&quot; data-filename=&quot;화면 캡처 2023-07-20 142400.png&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;G1과 G2 간의 GED: G1 -&amp;gt; G2로 변환하는 과정에서 수행되는 edit operation 의 수&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* edit operatrion: vertex/edge 의 삽입, 삭제, relabelling&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 그래프가 동일하다면 둘의 GED = 0&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 간의 거리가 계산된 후 0~1 사이의 유사도 점수로 변환 (* 변환 방법은 4.2)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Graph Convolutional Networks (GCN) &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;  GCN&lt;/b&gt;&lt;br /&gt;Convolution Filter(kernel)로 imgage 순회, dot-product, 기존의 데이터로부터 filter 이용해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;새로운 tensor(=activation map) 만들어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;filter의 depth = receptive field, 깊을수록 더 깊은 computation layer&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;conv 연산의 특징 - weight sharing&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;node feature matrix update&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;graph 주변의 부분들로 update&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; conv 연산과 비슷하게 local 정보 이용하고 weight sharing&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Node embedding computation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[1] compute graph-level embedding&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;[2] pairwise node comparison for 2 graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;노드 임베딩 알고리즘 중,&amp;nbsp; Graph Convolution Network, GCN 사용 &lt;b&gt;&lt;u&gt;&amp;lt;- 다른 임베딩 알고리즘???&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- initialization is carefully designed.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- inductive, since for any unseen graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 144019.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcp8seD%2FbtsogdJ55mh%2F1HAaWCdhXKJwVWhULMYp4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;279&quot; height=&quot;48&quot; data-filename=&quot;화면 캡처 2023-07-20 144019.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 144203.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1K9yj/btsoidCAMOA/QlmeiAqYqIC1IMltVtkg2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1K9yj/btsoidCAMOA/QlmeiAqYqIC1IMltVtkg2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1K9yj/btsoidCAMOA/QlmeiAqYqIC1IMltVtkg2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1K9yj%2FbtsoidCAMOA%2FQlmeiAqYqIC1IMltVtkg2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;240&quot; data-filename=&quot;화면 캡처 2023-07-20 144203.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;N(n): set of the first-order neighbors of node n, n itself&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;dn: degree of node n + 1&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;W: weight matrix associated with eht l-th GCN layer&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;b: bias&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;f: activation fuction (ReLU)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. THE PROPOSED APPROACH: SIMGNN &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;한 쌍의 그래프를 유사성 점수로 매핑하는 학습: end-to-end neural network&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;** end-to-end neural network&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 ~ 출력 까지 전체 과정을 하나의 통합된 신경망으로 처리하는 기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력-출력 사이의 매핑을 자동으로 학습 가능, 중간 단계의 특징 추출과 전처리 과정의 번거로움 줄여준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Strategy One: Graph-Level Embedding Interaction&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 수준 임베딩이 그래프의 구조/특징 정보를 인코딩할 수 있고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이를 통해 두 그래프간의 유사성을 예측할 수 있다는 가정 기반&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(1) node embedding stage: 그래프 노드 -&amp;gt; 벡터 임베딩&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(2) graph embedding stage: 각 그래프에 대해 하나의 임베딩 생성 (by attention based aggregation)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(3) graph-graph interaction stage: 두 그래프 임베딩으로부터 유사성 점수 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(4) final graph similarity score computation stage: 앞 단계의 유사성 점수 -&amp;gt; 하나의 최종 점수로&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 150017.png&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IW5QM/btsonl0HIiS/T4rguv66xePPQKHeyFjKT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IW5QM/btsonl0HIiS/T4rguv66xePPQKHeyFjKT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IW5QM/btsonl0HIiS/T4rguv66xePPQKHeyFjKT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIW5QM%2Fbtsonl0HIiS%2FT4rguv66xePPQKHeyFjKT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;802&quot; height=&quot;321&quot; data-filename=&quot;화면 캡처 2023-07-20 150017.png&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;321&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1.1 Stage 1 - Node Embedding&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GCN 사용 (Neighbor aggregation based method)&amp;nbsp; &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;u&gt;  GCN&lt;/u&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 144019.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cp8seD/btsogdJ55mh/1HAaWCdhXKJwVWhULMYp4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcp8seD%2FbtsogdJ55mh%2F1HAaWCdhXKJwVWhULMYp4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;279&quot; height=&quot;48&quot; data-filename=&quot;화면 캡처 2023-07-20 144019.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;invariant를 표현하는 aggregation func을 학습하고 unseen node에 적용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; node embedding 후 attention module에 넣을 준비 완료!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1.2 Stage II: Graph Embedding&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;노드 임베딩 집합을 이용해 각 그래프마다 하나의 임베딩을 만들기 위해서?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* unweighted average of node embeddings&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* weighted sum where a weight associated with a node is determined by its degree.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; specific similarity metric에 따라 어떤 노드는 더 중요해 높은 가중치를 두어야 할 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;본 논문에서 다음과 같은 어텐션 메커니즘 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 163834.png&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSntix/btsonRSRvhI/BtShl5Jq8jIK8f60OgfljK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSntix/btsonRSRvhI/BtShl5Jq8jIK8f60OgfljK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSntix/btsonRSRvhI/BtShl5Jq8jIK8f60OgfljK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSntix%2FbtsonRSRvhI%2FBtShl5Jq8jIK8f60OgfljK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;194&quot; data-filename=&quot;화면 캡처 2023-07-20 163834.png&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;194&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* nodes similar to the global context should receive higher attention weights&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;시그모이드 함수 사용해 attention weight 0~1 사이의 값으로 조절&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;-&amp;gt; 길이를 1로 정규화 하지 않는다. 임베딩 norm 이 그래프 사이즈를 반영하도록 두는 것이 바람직. 그래프 유사도 계산에 필수적 작업!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 165140.png&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wgEYl/btsooFYLKH2/3djBnAkKw8yZMxwyo5jUJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wgEYl/btsooFYLKH2/3djBnAkKw8yZMxwyo5jUJK/img.png&quot; data-alt=&quot;node attention mechanism&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wgEYl/btsooFYLKH2/3djBnAkKw8yZMxwyo5jUJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwgEYl%2FbtsooFYLKH2%2F3djBnAkKw8yZMxwyo5jUJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;67&quot; data-filename=&quot;화면 캡처 2023-07-20 165140.png&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;node attention mechanism&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1.3 Stage III: Graph-Graph Interaction: Neural Tensor Network. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;단순 내적을 통해 계산할 수 있지만, lead to insufficient or weak interaction between the two의 가능성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;본 눈문에서는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&amp;nbsp;Neural Tensor Networks (NTN) &lt;/b&gt;&lt;/span&gt; to model the relation between two graph-level embeddings 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1.4 Stage IV: Graph Similarity Score Computation.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;list of similarity scores를 얻으면, &amp;nbsp;standard multi-layer fully connected neural network를 적용해 similarity score vector의 차원을 점차 줄인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 165528.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhT0IG/btsomOJAmlI/gm8YxUnOlaejpKcUEY7KcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhT0IG/btsomOJAmlI/gm8YxUnOlaejpKcUEY7KcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhT0IG/btsomOJAmlI/gm8YxUnOlaejpKcUEY7KcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhT0IG%2FbtsomOJAmlI%2Fgm8YxUnOlaejpKcUEY7KcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;251&quot; height=&quot;59&quot; data-filename=&quot;화면 캡처 2023-07-20 165528.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;compared against the ground-truth similarity score using the following mean squared error loss function:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;3.1.5 Limitations of Strategy One.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 레벨 임베딩에서 노드 레벨 정보(노드 특징 분포, 그래프 사이즈)가 손실될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 단어 수준의 정보를 사용하면 ? 자연어 처리에서 문장 당 하나의 임베딩 기반으로 한 매칭의 성능 향상 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Strategy Two: Pairwise Node Comparison &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-20 171601.png&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SYwdc/btsoo5Xizf6/9PK5n5Y9KJM6zka31hIyuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SYwdc/btsoo5Xizf6/9PK5n5Y9KJM6zka31hIyuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SYwdc/btsoo5Xizf6/9PK5n5Y9KJM6zka31hIyuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSYwdc%2Fbtsoo5Xizf6%2F9PK5n5Y9KJM6zka31hIyuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;371&quot; height=&quot;171&quot; data-filename=&quot;화면 캡처 2023-07-20 171601.png&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;145&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;주어진 2개의 그래프 크기가 달라 two fake nodes with zero embedding are padded to the graph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 그래프 표현의 불변성을 보장하기 위해 노드에 순서를 지정하는 방법을 적용해 전처리 할 수 있지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 히스토그램 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 연속적이지 않고, 미분 가능하지 않아 : 역전파를 통한 모델 훈련에 직접 사용 불가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; [strategy 1]로 모델 가중치 업데이트, 그래프 수준 임베딩 생성, 그래프 간의 구조적, 특성 유사성 반영에 효과적&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; [strategy 2]로 그래프 특징 보완해 성능 향상, 노드 간의 세부적 유사성 이해, 역전파 지원 X (유사도 계산에만 사용), 모델 훈련에 직접 기여 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Time Complexity Analysis &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;SimGNN이 훈련되면, 어떤 그래프에 대해서 유사도 점수 계산하는데 사용 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;* The node-level and global-level embedding computation stages. &lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;임베딩 계산 단계는 각 그래프마다 한번씩 계산&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;generation of node-level and graph-level embedding : O(E) (E: number of edges)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;graph-level 임베딩은 pre-computed 되어 저장.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;setting of 그래프 유사도 검색에서, unseen&amp;nbsp; query graph는 그래프 임베딩을 얻기 위해 한 번만 처리하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;* The similarity score computation stage.&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모든 그래프 쌍에 대해 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 092747.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Az966/btsotnjdMTP/Kl4xKG4LhKGX9S6Ltkpzi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Az966/btsotnjdMTP/Kl4xKG4LhKGX9S6Ltkpzi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Az966/btsotnjdMTP/Kl4xKG4LhKGX9S6Ltkpzi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAz966%2FbtsotnjdMTP%2FKl4xKG4LhKGX9S6Ltkpzi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;225&quot; data-filename=&quot;화면 캡처 2023-07-21 092747.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4 EXPERIMENTS &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 Datasets&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 093120.png&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lHYXy/btsoo37hM4P/8SfM7Z4G4eM2RJj3UoKFu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lHYXy/btsoo37hM4P/8SfM7Z4G4eM2RJj3UoKFu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lHYXy/btsoo37hM4P/8SfM7Z4G4eM2RJj3UoKFu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlHYXy%2Fbtsoo37hM4P%2F8SfM7Z4G4eM2RJj3UoKFu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;127&quot; data-filename=&quot;화면 캡처 2023-07-21 093120.png&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 Data Preprocessing &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* AIDS and LINUX are relatively small, an exponentialtime exact GED computation algorithm named&lt;span style=&quot;color: #ee2323;&quot;&gt; &lt;b&gt;A *&lt;b&gt; &lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&amp;ldquo;no currently available algorithm manages to reliably compute GED within reasonable time between graphs with more than 16 nodes.&amp;rdquo; &lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IMDB 데이터셋 처리-&amp;gt;&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; Beam, Hungarian, VJ  &lt;/b&gt;&lt;/span&gt; 같은 근사 알고리즘 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소값을 선택하는 이유? 근사 알고리즘이 반환하는 GED가 실제보다 크거나 같다는 것이 보장되기 때문!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 GED와 오차를 최소화 하면서 정확한 값을 얻을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-21 094156.png&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w4Ynr/btson7I8jlD/w6lNZq7mUkJigysnrEraE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w4Ynr/btson7I8jlD/w6lNZq7mUkJigysnrEraE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w4Ynr/btson7I8jlD/w6lNZq7mUkJigysnrEraE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw4Ynr%2Fbtson7I8jlD%2Fw6lNZq7mUkJigysnrEraE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;160&quot; data-filename=&quot;화면 캡처 2023-07-21 094156.png&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 Baseline Methods&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(1) fast approximate GED computation algorithm&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- A*&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Hungarian&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- VJ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(2) neural network based&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- SimpleMean simply takes the unweighted average of all the node embeddings of a graph to generate its graph-level embedding.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- HierarchicalMean&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- HierarchicalMax are the original GCN architectures based on graph coarsening, which use the global mean or max pooling to generate a graph hierarchy.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(The next four models apply the attention mechanism on nodes.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- AttDegree uses the natural log of the degree of a node as its attention weight&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- AttGlobalContext&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- AttLearnableGlobalContext (AttLearnableGC) both utilize the global graph context to compute the attention weights, but the former does not apply the nonlinear transformation with learnable weights on the context, while the latter does.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- SimGNN is our full modek that graph combines the best of Strategy 1 (AttLearnableGC) and Strategy 2.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.4 Parameter Settings&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- the number of GCN layers = 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- activation function = ReLU&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[training]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- batch size = 128&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Adam algorithm for optimization&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- learning rate = 0.001&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- number of iterations = 10000&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- select the best model on the lowest validation loss&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.5 Evaluation Metrics&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Time&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Mean Squared Error&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Spearman&amp;rsquo;s Rank Correlation Coefficient (&amp;rho;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Kendall&amp;rsquo;s Rank Correlation Coefficie (&lt;span&gt; )&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; Precision at k (p@k). p@k is computed by taking the intersection of the predicted top k results and the ground-truth top k results divided by k. Compared with p@k, &amp;rho; and &amp;tau; evaluates the global ranking results instead of focusing on the top k results.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;b&gt;4.6 Results&lt;/b&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;b&gt;4.7 Parameter Sensitivity&lt;/b&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;b&gt;4.8 Case Studies&lt;/b&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;5. RELATED WORK&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Network/Graph Embedding&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- node-level embedding&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- graph-level embedding&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- graph neural network applications&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Graph Similarity Computation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- graph distance/similarity metrics&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Pairwise GED computation algorithms&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Graph Similarity search&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;6. DISCUSSIONS AND FUTURE DIRECTIONS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- edge 특성은 처리할 수 없다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- precision 을 향상시키기 위해 top k 개의 결과에서 다른 기법을 탐색 -&amp;gt; 훈련 데이터셋의 유사도 분포가 비대칭적&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 큰 그래프에 대해 정확한 GED 계산할 수 없다는 제약 -&amp;gt; 작은 그래프 사이의 정확한 GED 만으로 훈련된 모델이 큰 그래프에 대해 어떻게 일반화 되는가?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;7. CONCLUSION&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&quot;The central idea is to learn a neural network based function that is representation-invariant, inductive, and adaptive to the specific similarity metric, which takes any two graphs as input and outputs their similarity score.&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  [07.18] SEMINAR FEEDBACK&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 후보 집합 빠르게 찾아내기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 두 그래프 사이의 노드 - 매칭 sequence 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;&amp;lt;= Ptr-Net과 엮어, Graph-level embedding interatcion 적용 ??&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Pairwise Node Comparison&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 히스토그램의 역할? 왜 ? 어떻게?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래프 유사성 검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- (GED) Graph Edit Distance&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- (MCS) Maximum Common Subgraph&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;노드/그래프 분류 등 응용 프로그램에 대한 신경망 접근 방식&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; 좋은 성능 유지하면서 계산 부담 완화하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SimGNN&lt;/b&gt;의 전략&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(== GED 계산에 대해 근사 알고리즘 및 신경망 모델 비교했을 때 좋은 성능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. &lt;u&gt;&lt;b&gt;모든 그래프를 임베딩 벡터에 매핑&lt;/b&gt;&lt;/u&gt;하는 학습 가능한 임베딩 함수 설계 &amp;gt; 전체 그래프에 대한 정보 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 특정 유사성 메트릭과 관련한 중요한 노드를 강조하기 위해 &lt;u&gt;&lt;b&gt;어텐션 메커니즘&lt;/b&gt;&lt;/u&gt; 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. &lt;u&gt;&lt;b&gt;노드 수준 정보&lt;/b&gt;&lt;/u&gt;를 사용해 그래프 수준 임베딩을 보완 &amp;gt; &lt;u&gt;&lt;b&gt;pairwise comparison&amp;nbsp;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ 두 그래프 노드 쌍별 유사도 점수 계산 &amp;gt; 히스토그램 추출 &amp;gt; 그래프 level 정보와 결합&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;i&gt;&lt;b&gt;Representation Invariant&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;동일한 그래프는 노드 순서 바꾸면 다른 인접 행렬로 표현 -&amp;gt; 유사도 점수는 이런 변화에 대해 불변&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;i&gt;&lt;b&gt;Inductive&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;should generalize to unseen graph.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;i&gt;&lt;b&gt;Learnable&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;학습을 통해 유사도 지표에 적응할 수 있어, 모델 파라미터 조정해 다양한 유사도 지표에 대응&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(GCN) Graph Convolutional Networks&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- node embedding 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 초기화 잘 하면 representation Invariant&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- unseen graph 에 대해서도 ㅇㅇ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;A* 알고리즘: 최단 경로 탐색&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;시작 노드만 지정, 다른 모든 노드에 대한 최단 경로 파악하는 다익스트라와 다르게&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;시작 - 목적지 노드를 분명하게 지정해, 두 노드간의 최단 경로 파악&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;휴리스틱 추정값을 통해 개선 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>Graph Edit Distance</category>
      <category>Graph Similarity Computation</category>
      <category>Network Embedding</category>
      <category>Neural Networks</category>
      <category>SimGNN</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/73</guid>
      <comments>https://paatata.tistory.com/73#entry73comment</comments>
      <pubDate>Fri, 21 Jul 2023 10:29:55 +0900</pubDate>
    </item>
    <item>
      <title>NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE</title>
      <link>https://paatata.tistory.com/72</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;논문: &lt;a style=&quot;color: #000000;&quot; href=&quot;https://arxiv.org/pdf/1409.0473.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NEURAL&amp;nbsp;MACHINE&amp;nbsp;TRANSLATION&amp;nbsp;BY&amp;nbsp;JOINTLY&amp;nbsp;LEARNING&amp;nbsp;TO&amp;nbsp;ALIGN&amp;nbsp;AND&amp;nbsp;TRANSLATE&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-18 오후 10.17.29.png&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KGEFa/btsn7xgCpER/EFZtzcBW2gtPEXCmeSZzdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KGEFa/btsn7xgCpER/EFZtzcBW2gtPEXCmeSZzdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KGEFa/btsn7xgCpER/EFZtzcBW2gtPEXCmeSZzdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKGEFa%2Fbtsn7xgCpER%2FEFZtzcBW2gtPEXCmeSZzdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1262&quot; height=&quot;356&quot; data-filename=&quot;스크린샷 2023-07-18 오후 10.17.29.png&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;❍ ICLR 2015&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;ABSTRACT&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;번역 성능 극대화 하기 위한 single neural network. 주로 인코더-디코더의 구조.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; source 문장을 &lt;u&gt;&lt;b&gt;고정 길이 벡터(fixed-lenght vector)&lt;/b&gt;&lt;/u&gt;로 인코딩 후 디코더가 이를 활용해 번역 생성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;* &lt;u&gt;&lt;b&gt;고정 길이 벡터의 사용&lt;/b&gt;&lt;/u&gt;: 인코더-디코더에 &lt;b&gt;병목 현상&lt;/b&gt; 일으켜.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; 모델이 단어를 예측하는데 도움이 되는 source의 일부를 자유롭게 찾아낼 수 있는 방식 제안.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;s&gt;* 영어 -&amp;gt; 프랑스어로의 번역 작업에서 좋은 성능 달성&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;s&gt;모델이 찾아낸 (soft-) alignments 가 저자들의 직관과 일치함 보임&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;  [인코더-디코더 구조에서의 &lt;/span&gt;병목 현상]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;763&quot; data-origin-height=&quot;195&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFASIu/btsn7PVM2ld/IC54516pHVaxSNXQZQ0zTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFASIu/btsn7PVM2ld/IC54516pHVaxSNXQZQ0zTK/img.png&quot; data-alt=&quot;https://wikidocs.net/24996&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFASIu/btsn7PVM2ld/IC54516pHVaxSNXQZQ0zTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFASIu%2Fbtsn7PVM2ld%2FIC54516pHVaxSNXQZQ0zTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;110&quot; data-origin-width=&quot;763&quot; data-origin-height=&quot;195&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://wikidocs.net/24996&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;인코더가 입력 문장의 모든 단어를 순차적으로 받아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마지막에 단어들로부터 얻은 정보 압축해 하나의 벡터로 만들어&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;= CONTEXT Vector (입력 문장에 대한 문맥적인 정보)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;디코더는 해당 벡터를 받아 번역된 단어를 하나씩 순차적으로 출력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞 단어에 대한 계산이 끝나야 다음 단어의 계산 진행 가능 -&amp;gt; 정보 흐름에 Bottleneck 발생&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;입력 문장 길이에 상관 없이, 고정된 크기를 가진 context vector에 정보를 압축해야 하므로 전체 성능에서 bottleneck의 원인&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;✍️&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;align &amp;equiv; attention&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;annotation &amp;equiv; hidden state&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. INTRODUCTION&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;* 기존의 구문 기반 번역 시스템(&lt;span style=&quot;text-align: start;&quot;&gt;Koehn) &lt;/span&gt;=&amp;gt; Statistical phrase-based translation (STM)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어휘 정렬, 구문 표현, 번역 모델 학습, 디코딩: 여러 단계로 나누어 처리&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 어휘 정렬: 원본과 대상 문장의 단어 사이의 어휘적 매칭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 구문 표현: 문장 구조적 정보 고려한 구문 표현 생성(ex_ 구문 트리, 구문적으로 정렬된 문장 쌍 생성)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 번역 모델 학습: 원본과 대상 문장 사이의 구문 표현과 번역의 관련성 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 디코딩: 새로운 입력 문장 번역 과정, 가능한 번역 후보 생성하고 점수 부여해 최적의 번역 선택&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;대부분의 neural machine translation model은 인코더-디코더의 구조&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; 긴 문장에서의 성능 떨어진다..&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; &lt;u&gt;&lt;b&gt;jointly trained&lt;/b&gt;&lt;/u&gt; to maximize the probability of a correct translation given a source sentence.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;==&amp;gt; 인코더-디코더 모델에 &lt;u&gt;&lt;b&gt;align과 번역을 함께 학습&lt;/b&gt;&lt;/u&gt;하는 확장 기법 소개&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 각 단어를 생성할 때, 원문에서 가장 관련 있는 정보가 있는 위치 집합 탐색 &lt;u&gt;&lt;i&gt;(soft-search)&lt;/i&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- &lt;b&gt;해당 위치와 이전에 생성된 모든 대상 단어와 관련된 context 벡터를 기반으로 단어 예측&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;입력 문장을 순차적으로 탐색해서 현재 생성하려는 부분과 가장 관련있는 영역을 적용시킨다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;최종적으로 encoder에서 생성한 context word 중 관련성이 크다고 판단되는 영역들과, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;decoder에서 이미 생성한 결과를 기반으로 다음 단어를 결과로 생성해낸다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;?? 입력 문장 전체를 하나의 고정 길이 벡터로 인코딩하지 않는다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일련의 &lt;b&gt;벡터로 인코딩&lt;/b&gt; -&amp;gt; 번역 과정에서 하위 집합을 선택. 모든 정보를 고정 길이 벡터로 압축할 필요 없어&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;긴 문장을 더 잘 처리할 수 있다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;☑ align과 번역을 동시에 학습하는 접근 방식 &amp;gt;&amp;gt; 인코더-디코더 방식보다 향상된 성능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;_긴 문장에서 두드러짐&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. BACKGROUND: NEURAL MACHINE TRANSLATION &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;확률 관점 _번역 =&amp;gt;&amp;nbsp; 타겟 문장 y의 조건부 확률 최대화 하는 y를 찾는 것.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;신경망 모델에서 문자 쌍의 조건부 확률을 최대화 하기 위한 매개변수 모델 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2.1 RNN ENCODER&amp;ndash;DECODER&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;align and translate 동시에 학습하는 구조의 기반이 되는 개념 소개&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍ &amp;nbsp;&lt;/span&gt;Encoder: 입력 문장 x를 읽어 하나의 벡터 c 로 인코딩&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;35&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/craa3Q/btsobdv66tg/cafTSPKh38numsbRwsLvxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/craa3Q/btsobdv66tg/cafTSPKh38numsbRwsLvxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/craa3Q/btsobdv66tg/cafTSPKh38numsbRwsLvxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcraa3Q%2Fbtsobdv66tg%2FcafTSPKh38numsbRwsLvxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;155&quot; height=&quot;29&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;35&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;39&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWWaES/btsobIXbSWr/1NCcsHNEppDQKPOwUgC82k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWWaES/btsobIXbSWr/1NCcsHNEppDQKPOwUgC82k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWWaES/btsobIXbSWr/1NCcsHNEppDQKPOwUgC82k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWWaES%2FbtsobIXbSWr%2F1NCcsHNEppDQKPOwUgC82k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;206&quot; height=&quot;32&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;39&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;h: hidden stae at time t&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;c: vector generated from the sequence of the h&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;f, q: nonlinear function (LSTM)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍ &amp;nbsp;&lt;/span&gt;Decoer:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;363&quot; data-origin-height=&quot;75&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sGOKv/btsogduKEFl/YBNtG2XjnHYePSodCOWzRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sGOKv/btsogduKEFl/YBNtG2XjnHYePSodCOWzRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sGOKv/btsogduKEFl/YBNtG2XjnHYePSodCOWzRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsGOKv%2FbtsogduKEFl%2FYBNtG2XjnHYePSodCOWzRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;281&quot; height=&quot;58&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;363&quot; data-origin-height=&quot;75&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;벡터 c와 이전에 예측된 모든 단어 {y1, ..., yt-1}이 주어지면 다음 단어 yt'을 예측하도록 훈련&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;y에 대한 확률은 조건부 확률을 기반으로 생성됨&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;416&quot; data-origin-height=&quot;46&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qACNY/btsoa9UKny8/2pF0aytS4RzMBbZ0X3v621/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qACNY/btsoa9UKny8/2pF0aytS4RzMBbZ0X3v621/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qACNY/btsoa9UKny8/2pF0aytS4RzMBbZ0X3v621/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqACNY%2Fbtsoa9UKny8%2F2pF0aytS4RzMBbZ0X3v621%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;326&quot; height=&quot;36&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;416&quot; data-origin-height=&quot;46&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;g: nonlinear, potentially multi-layered function&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;st: hiddent state of RNN&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. LEARNING TO ALIGN AND TRANSLATE&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;양방향 RNN을 인코더로, 디코더는 번역 생성하는 동안 원본 문장 탐색&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3.1 DECODER: GENERAL DESCRIPTION&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;새로운 모델에서 조건부 확률 정의: &lt;u&gt;&lt;b&gt;ci&lt;/b&gt;&lt;/u&gt; 가 각각의 yi에 추가된 것 확인&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.45.10.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTMCTr/btsobc5ogk3/rmBPl72joFHN6IbEklOKg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTMCTr/btsobc5ogk3/rmBPl72joFHN6IbEklOKg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTMCTr/btsobc5ogk3/rmBPl72joFHN6IbEklOKg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTMCTr%2Fbtsobc5ogk3%2FrmBPl72joFHN6IbEklOKg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;294&quot; height=&quot;34&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.45.10.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;58&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.46.17.png&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lq96Q/btsofNQTGve/4TvbvK1DPbzjmZWuMr08g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lq96Q/btsofNQTGve/4TvbvK1DPbzjmZWuMr08g1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lq96Q/btsofNQTGve/4TvbvK1DPbzjmZWuMr08g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flq96Q%2FbtsofNQTGve%2F4TvbvK1DPbzjmZWuMr08g1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;180&quot; height=&quot;29&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.46.17.png&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;si: RNN hiddent state for time i&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ci: context vector _depends on a sequence of annotations (h1, ... , hTx), 전체 input sequence에 대한 정보를 포함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[특히 i번째 단어에 초점]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.57.31.png&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BQJD2/btsohXyleU6/4I3NTq1akyhlXB2YeuLOv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BQJD2/btsohXyleU6/4I3NTq1akyhlXB2YeuLOv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BQJD2/btsohXyleU6/4I3NTq1akyhlXB2YeuLOv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBQJD2%2FbtsohXyleU6%2F4I3NTq1akyhlXB2YeuLOv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;101&quot; height=&quot;53&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.57.31.png&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.58.57.png&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oTLIY/btsog1HUzxF/7coWtAbkSmoxW3DjUn72fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oTLIY/btsog1HUzxF/7coWtAbkSmoxW3DjUn72fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oTLIY/btsog1HUzxF/7coWtAbkSmoxW3DjUn72fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoTLIY%2Fbtsog1HUzxF%2F7coWtAbkSmoxW3DjUn72fk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;155&quot; height=&quot;88&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.58.57.png&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;192&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;aij: weight&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;eij: alignment model, input_j와 output_i의 출력이 얼마나 잘 매칭/일치하는지에 대한 점수&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;디코더가 yi를 출력하기 전 hidden state s(i-1)은 이전에 예측된 단어들을 포함한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 점수를 기반으로 디코더는 올바른 위치에 해당하는 입력 정보를 찾아내고, 문장 생성 =&amp;gt; 번역을 더 정확하게 수행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;alignment model &lt;u&gt;&lt;i&gt;&quot;a&quot;&lt;/i&gt;&lt;/u&gt; : 하나의 feedforward neural network로 구성, 다른 네트워크와 같이 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가장 마지막 변수를 고려 X, diredctly computes a soft alignment,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; 각 디코딩 단계에서 모델이 입력 문장과 출력 문장 사이의 관련 점수를 계산한다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.48.17.png&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qHhZP/btsohAwxw2t/NKtKHx71L30Dfp5BoC9NKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qHhZP/btsohAwxw2t/NKtKHx71L30Dfp5BoC9NKK/img.png&quot; data-alt=&quot;generate target word yt given a source sentence (x1, ... ,xT)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qHhZP/btsohAwxw2t/NKtKHx71L30Dfp5BoC9NKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqHhZP%2FbtsohAwxw2t%2FNKtKHx71L30Dfp5BoC9NKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;202&quot; height=&quot;259&quot; data-filename=&quot;스크린샷 2023-07-19 오후 7.48.17.png&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;generate target word yt given a source sentence (x1, ... ,xT)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3.2 ENCODER: BIDIRECTIONAL RNN FOR ANNOTATING SEQUENCES&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;양방향 RNN(BiRNN): 순방향(주어진 순서대로 x1, ..., xT 읽어 hidden state 계산), 역방향 RNN으로 구성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 RNN의 결과 순방향 h와 역방향 h를 연결해 hj 생성&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 8.27.29.png&quot; data-origin-width=&quot;230&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SJ6nJ/btsofsGpTTV/TG4nTgjPYO64UftgEIWaKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SJ6nJ/btsofsGpTTV/TG4nTgjPYO64UftgEIWaKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SJ6nJ/btsofsGpTTV/TG4nTgjPYO64UftgEIWaKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSJ6nJ%2FbtsofsGpTTV%2FTG4nTgjPYO64UftgEIWaKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;134&quot; height=&quot;42&quot; data-filename=&quot;스크린샷 2023-07-19 오후 8.27.29.png&quot; data-origin-width=&quot;230&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;인접한 state의 정보를 더 많이 가지고 있는 RNN의 특성상, hj는 입력 단어 xj의 가까운 위치에 있는 단어의 정보를 더 많이 보유하게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4. EXPERIMENT SETTINGS &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4.1 DATASET&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍&lt;/span&gt;&amp;nbsp;English-French parallel corpus (by &lt;span style=&quot;text-align: start;&quot;&gt;ACL WMT &amp;rsquo;14)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;- 전체 corpus 단어를 348M개로 제한, 크기 축소&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;- monolingual data는 사용하지 않음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;4.2 MODELS&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2 types of models&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt; [기존] &lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;RNN Encoder&amp;ndash;Decoder: 1000개의 hidden unit&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;❍ [제안] &lt;/span&gt;RNNsearch: 1000개의 순방향 + 1000개의 역방향 hidden unit&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;학습 방법&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt; 30 단어 문장 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;gt; 50 단어 문장&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;두 모델 모두 multilayer network with single maxout 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;minibatch stochastic gradient descent(SGD) 알고리즘 (80) + Adadelta 사용&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;훈련된 모델 -&amp;gt; beam search 사용, 조건부 확률 최대화 하는 번역 찾아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;[minibatch stochastic gradient descent]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;훈련데이터를 미니 배치로 나누고, 각각에 대해 gradient descent 적용 =&amp;gt; 모델의 가중치 업데이트&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;훈련 시간 줄이고 계산량 감소, 모델 성능 향상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[Adadelta]: &lt;/b&gt;AdaGrade 기반의&amp;nbsp;최적화 알고리즘&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Accumulated Squared Gradient/Update&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 누적 제곱 gradient 계산: 매개변수 갱신을 위해 과거 gradient 제곱 누적.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 누적 제곱 업데이트: 이전 업데이트의 제곱 누적&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 새로운 gardient 계산. 현재 스텝에서 gradient를 계산한다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. learning rate 조정: 현재 &amp;amp; dlwjs gradient 이용해 학습률 계산, 과거 gradient 들이 얼마나 중요한지에 따라&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. 매개변수 업데이트&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; gradient가 크거나 작은 경우에도 일반적으로 잘 작동한다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[beam search]&lt;/b&gt;: 자연어 처리/기계 번역에 사용되는 탐색 알고리즘&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;모든 시퀀스를 탐색하지 X, 가장 가능성이 높은 시퀀스 찾기 위해 최적화된 탐색 방법&lt;/span&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;: 너비 우선 탐색 + 그리디 알고리즘 결합&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;1. 시작 단어에 대해 가능한 모든 다음 단어의 조합 계산: 초기 beam 생성&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;2. 빔 확장: 빔의 각 상태에서 가능한 다음 단어 후보 계산 - 빔의 상태는 이전에 생성된 단어 조합, 이에 대한 다음 단어 예측&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;3. 빔 정렬: 가능한 다음 단어 후보 중 가능성 가장 높은 빔의 크기만큼 단어 선택 =&amp;gt; 다음 단계의 빔 생성&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;4. 최종 단어 결정: 특정 조건(ex_ 문장 끝 도달) 충족하는 단어 시퀀스 찾을 때까지 확장-&amp;gt;정렬 단계 반복&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;가능한 모든 시퀀스 탐색보다 효율적으로 가능성이 높은 시퀀스를 찾을 수 있다&lt;/span&gt;&lt;span style=&quot;caret-color: #343541;&quot;&gt;- beam 크기를 늘리면 더 정확한 결과를 얻을 수 있지만 계산 비용 증가&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;5. RESULTS&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;5.1 &lt;span style=&quot;text-align: start;&quot;&gt;QUANTITATIVE RESULTS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 9.16.17.png&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdT2dl/btsofpCRRvL/uJ9gxeowkzbgXOCMaiNkBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdT2dl/btsofpCRRvL/uJ9gxeowkzbgXOCMaiNkBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdT2dl/btsofpCRRvL/uJ9gxeowkzbgXOCMaiNkBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdT2dl%2FbtsofpCRRvL%2FuJ9gxeowkzbgXOCMaiNkBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;307&quot; height=&quot;163&quot; data-filename=&quot;스크린샷 2023-07-19 오후 9.16.17.png&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;BLEU score를 기반 translation 성능을 평가. RNNsearch 가 모든 경우 더 뛰어난 성능을 제공&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;기존의 phrase-based translation system(Moses) 와 유사한 성능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-19 오후 9.16.23.png&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;464&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpTXh9/btsogfNnAsn/7Bn1UvgWnG8KH1WYdf8Zk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpTXh9/btsogfNnAsn/7Bn1UvgWnG8KH1WYdf8Zk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpTXh9/btsogfNnAsn/7Bn1UvgWnG8KH1WYdf8Zk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpTXh9%2FbtsogfNnAsn%2F7Bn1UvgWnG8KH1WYdf8Zk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;476&quot; height=&quot;271&quot; data-filename=&quot;스크린샷 2023-07-19 오후 9.16.23.png&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;464&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;본 논문에서 제시하는 모델의 장점 =&lt;u&gt;&lt;b&gt; source sentence를 하나의 고정된 길이의 벡터로 변환하지 않아&lt;/b&gt;&lt;/u&gt;도 된다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;하나의 고정된 길이의 벡터로 변환하는 경우, 문장의 길이가 길어지면 성능이 떨어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt;=&amp;gt; RNNsearch-30, RNNsearch-50의 경우, source sentence 가 길어져도 어느정도 일관된 성능을 제공ㅇㅇ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: justify;&quot;&gt; RNNsearch-50은 특히 문장이 길이가 계속 길어져도 성능 저하가 없음!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;QUANTITATIVE ANALYSIS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;5.2.1 ALIGNMENT&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;영어-프랑스어 특징적 차이 = 형용사 | 명사의 어순&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 잘 정렬함^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;5.2.2 LONG SENTENCES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 긴 문장의 경우도 누락 없이 잘 번역^^&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 수식 why..?&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>encoder-decoder</category>
      <category>rnn</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/72</guid>
      <comments>https://paatata.tistory.com/72#entry72comment</comments>
      <pubDate>Wed, 19 Jul 2023 22:01:50 +0900</pubDate>
    </item>
    <item>
      <title>[세미나] 준비 과정 | 시작이 절반 | 발표는 어려워 | 피드백</title>
      <link>https://paatata.tistory.com/71</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[07.18] INFOLAB 첫 세미나&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;연구과제로 참여하게 된 세미나! 2주의 시간과 함께 발표할 논문과 참고로 볼 논문 2가지를 주셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: -webkit-center;&quot;&gt;발표하게 된 논문은 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: -webkit-center;&quot;&gt;☞ &lt;a href=&quot;https://paatata.tistory.com/63&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pointer Network&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;퍼듀 생활에서부터 논문 읽기는 뭐 어렵지 않지 라고 생각했는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;막상 읽은 논문을 발표하려고 하니까 머리가 아팠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;읽기 싫은 마음이 드는 순간부터 끝^^.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;끝나고 드는 생각 = 좀 더 잘 할 수 있었을 것 같다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;변명이지만&amp;nbsp;체력과 인턴 시간 관리를 못한게 좀 크지 않았나..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. 논문 읽고 이해하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;처음엔 아무 생각없이 읽어서 뭔소린지 이해도 안되고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;보기 싫다는 마음이 커졌다.. 그럼 도망가면 된다는 교수님의 말씀이 생각나면서&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;꾸역꾸역 읽던 도중, 인턴 연구팀에 속한 논문 머신 박사님의 조언&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&quot;GPT를 잘 활용해라^.^&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;약간 길을 헤매다가 방향을 찾아간 기분.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 무슨 연구를 한 것인지에 초점을 맞추고 다시 차근차근&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;한번에 이해하기 =&amp;gt; 계속 읽어가면서 모르는 부분을 채워나가기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. 발표자료 + PPT 구성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;나름 이것저것 붙여가면서 만들었는데 발표할때 보니까 맘에 안듦..&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;좀 더 신경써서 만들어야겠다&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2023-07-19 오후 7.48.48.png&quot; data-origin-width=&quot;2416&quot; data-origin-height=&quot;1242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtp2kn/btsoe3NwXRd/5ejrYplDhokCe4PKUGE12k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtp2kn/btsoe3NwXRd/5ejrYplDhokCe4PKUGE12k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtp2kn/btsoe3NwXRd/5ejrYplDhokCe4PKUGE12k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdtp2kn%2Fbtsoe3NwXRd%2F5ejrYplDhokCe4PKUGE12k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;435&quot; height=&quot;224&quot; data-filename=&quot;edited_스크린샷 2023-07-19 오후 7.48.48.png&quot; data-origin-width=&quot;2416&quot; data-origin-height=&quot;1242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 논문 제목, 저자, 학회 정보&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;발표 날짜 + 발표자&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 연구 주제와 핵심 내용에 초점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; PPT 만드는거 자신있는데 대강대강 하긴 했어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 조금 신경 쓴 노력이 보인다는 교수님ㅎ.ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 그림 자료는 논문에 있는게 가장 정확/깔끔할 것 같아서 그대로 가져다 썼는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 내가 &lt;u&gt;&lt;b&gt;이해한 내용을 토대로 새롭게&lt;/b&gt; &lt;/u&gt;만드는 것도 좋다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;마지막 준비하면서 막혔던 부분..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;논문에서 시행한 실험과 그 결과에 대한 부분을 어떻게 전달할 것인가&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; &lt;u&gt;&lt;b&gt;실험 내용이 신뢰&lt;/b&gt;&lt;/u&gt;할 만한가 따져봐라. 논문을 위한 논문이 가끔 있기 때문에 무작정 믿으면 안돼!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. 발표 연습&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;발표 울렁증이 있으면 연습을 좀 더 하렴^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;말로만 전달하려니까 살짝 어려웠는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;발표자료에 글을 더 추가하는게 나을 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;계속 수정하면서 발표 자료에 익숙해지니까&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이정도면 충분하겠지 라는 생각이 드는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;'교수님 = 아무것도 모른다' 에서 시작해서 정확히 이해시킬 수 있는 발표를 해야겠다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;amp; 질문에 대한 디펜스.. 다음엔 교수님이 아무 말도 못하게 하는게 목표다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4. 다음에는..&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 이해가 안되거나 배경 지식이 필요한 문장 -&amp;gt; reference 참고하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 논문이 해결하고자 하는 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 문제에 대한 간단한 요약&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 논문 속의 keyword, insight&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ 내가 얻은 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 문제를 다르게 해결하거나 개선할 수 있는 방법?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 좀 더 괜찮은 아이디어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 배운 점 | 흥미로운 점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 문제 자체에 의문 제기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;  다음주까지 TO-DO (~07/25)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+ &lt;a style=&quot;color: #000000;&quot; href=&quot;https://arxiv.org/pdf/1409.0473.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+ &lt;a style=&quot;color: #000000; text-align: start;&quot; href=&quot;https://arxiv.org/pdf/1808.05689.pdf&quot;&gt;SimGNN: A Neural Network Approach to Fast Graph Similarity Computation&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+ &lt;a style=&quot;color: #000000; text-align: start;&quot; href=&quot;https://arxiv.org/pdf/1706.02413.pdf&quot;&gt;PointNet++:&amp;nbsp;Deep&amp;nbsp;Hierarchical&amp;nbsp;Feature&amp;nbsp;Learning&amp;nbsp;onPoint&amp;nbsp;Sets&amp;nbsp;in&amp;nbsp;a&amp;nbsp;Metric&amp;nbsp;Space&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ RNN / LSTM / seq2seq / encoder-decoder / attention 좀 더 구체적으로 공부&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++ Pointer Network 구현 &amp;amp; sorting 문제 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+++ 논문 하나 완성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>발표</category>
      <category>세미나</category>
      <category>연구과제</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/71</guid>
      <comments>https://paatata.tistory.com/71#entry71comment</comments>
      <pubDate>Wed, 19 Jul 2023 13:17:00 +0900</pubDate>
    </item>
    <item>
      <title>[IMU] Inertial Measurement Unit | KALMAN Filter</title>
      <link>https://paatata.tistory.com/69</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;뭔가 정리하려고 했는데..&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;누군가 IMU 센서를 쓰게 된다면 도움이 될까 싶어서 끄적이는 글^^&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;❏&lt;span&gt;&amp;nbsp;&lt;/span&gt;IMU 구성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;관성 측정 장치(Inertial Measurement Unit)는 가속도(Acceleration) 센서, 각속도(Gyroscope)를 포함한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(일부는 지자기(Magnetometer) 센서 포함)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;379&quot; data-origin-height=&quot;393&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7uP9A/btsnZ1ixGEA/iFBt0KFJikJMiogXGkzYF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7uP9A/btsnZ1ixGEA/iFBt0KFJikJMiogXGkzYF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7uP9A/btsnZ1ixGEA/iFBt0KFJikJMiogXGkzYF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7uP9A%2FbtsnZ1ixGEA%2FiFBt0KFJikJMiogXGkzYF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;288&quot; height=&quot;299&quot; data-origin-width=&quot;379&quot; data-origin-height=&quot;393&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;▪ &lt;/span&gt;&lt;span&gt;가&lt;/span&gt;속도 센서 Accelerometer&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;물체 움직임 변화에 따른 가속도의 변화를 순간적으로 감지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;센서 출력값인 가속도를 적분해 물체 진행 방향의 속도를 계산할 수 있다. (물체 위치 알아낼 수 있다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;초기 출력값은 모두 0으로 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;센서에서 얻은 가속도 값을 적분해 시간에 따른 오차가 누적된다는 단점 존재&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;⇨ GPS와 결합해 보정 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;물체가 특정 방향으로 기우는 등, 자세 변화에 따라 x, y, z축 가속도계가 서로 영향을 미친다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 물체가 정지된 상태라면, 중력 방향으로 작용하는 힘을 계산해 각 축의 기울어진 각도를 계산할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 물체가 움직이는 경우, 가속도 센서만으로 정확한 기울기를 알 수 없어 각속도 센서를 이용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;▪&lt;span&gt; 자이로&amp;nbsp;&lt;/span&gt;&lt;/span&gt;센서&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;회전의 변화량, 각속도를 측정하는 센서이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- x축으로의 회전 = Roll&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- y축으로의 회전 = Pitch&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- z축으로의 회전 = yaw&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;센서에서 측정되는 각속도는 노이즈나 다른 이유에 의해 계속 작은 오차가 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;적분시에 이 오차들이 누적되어 최종 값의 오차가 커져 기울기 값이 변하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 지자기 센서는 자이로 센서의 오차를 최대한 보정해주는 역할을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;▪&lt;span&gt;&lt;span&gt; KALMAN Filter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;센서의 오차와 노이즈를 줄일 방안으로 칼만 필터를 이용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여러 모션 캡처에서 칼만 필터를 사용해 자세값을 보정하는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;구체적인 과정은 복잡한 수식 과정을 담고 있으므로 생략..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;시각화해서 보여주는 툴도 찾아보면 꽤 많으니 잘 활용하도록 하자! (IMU viewer &lt;a href=&quot;https://github.com/kelray/USB-9-DOF-IMU-Viewer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt;&amp;nbsp;)&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>imu</category>
      <category>kalman filter</category>
      <category>모션캡쳐</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/69</guid>
      <comments>https://paatata.tistory.com/69#entry69comment</comments>
      <pubDate>Tue, 18 Jul 2023 16:12:59 +0900</pubDate>
    </item>
    <item>
      <title>Serial 통신의 Binary protocol과 Text Protocol</title>
      <link>https://paatata.tistory.com/68</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;통신 프로토콜을 맞추기 위한 수정/보완 작업&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- IMU 추가에 따른 프로토콜 재설계 (&amp;nbsp; 기존 ASCII 전송 =&amp;gt; &lt;u&gt;Binary 통신&lt;/u&gt;으로 수정 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- BLE 전송 특징에 부합하도록 설계: &lt;span style=&quot;color: #000000;&quot;&gt;어플리케이션에서 사용하는 데이터에 해당하는 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ATT Payload&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터량을&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 고려 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;반드시 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;244Bytes&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 이하로&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1159&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d02Ane/btsnZhEr6r4/Jq9Q1yVF6kg87KYypHKt4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d02Ane/btsnZhEr6r4/Jq9Q1yVF6kg87KYypHKt4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d02Ane/btsnZhEr6r4/Jq9Q1yVF6kg87KYypHKt4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd02Ane%2FbtsnZhEr6r4%2FJq9Q1yVF6kg87KYypHKt4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1159&quot; height=&quot;310&quot; data-origin-width=&quot;1159&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;통신 환경&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- Binary&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 통신 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(Little-Endian)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 데이터&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;수집 예제 프로그램 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: Insole(STM32, Little-Endian) &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;---&amp;gt; PC(&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;x86-64, Little-Endian)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 실시간 센서데이터 처리 프로그램 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: Insole(STM32, Little-Endian) &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;---&amp;gt; Jetson&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Nano(ARM32&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, Little-Endian)&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 144649.png&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;92&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w0xfZ/btsnOeu1yML/EXPGlAkxI6MTl51g4iWEf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w0xfZ/btsnOeu1yML/EXPGlAkxI6MTl51g4iWEf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w0xfZ/btsnOeu1yML/EXPGlAkxI6MTl51g4iWEf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw0xfZ%2FbtsnOeu1yML%2FEXPGlAkxI6MTl51g4iWEf1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1252&quot; height=&quot;92&quot; data-filename=&quot;화면 캡처 2023-07-17 144649.png&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;92&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 144711.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;241&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/48Hvj/btsnOfHuUwZ/9OPK7DMnljR3hCu8dB0Z9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/48Hvj/btsnOfHuUwZ/9OPK7DMnljR3hCu8dB0Z9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/48Hvj/btsnOfHuUwZ/9OPK7DMnljR3hCu8dB0Z9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F48Hvj%2FbtsnOfHuUwZ%2F9OPK7DMnljR3hCu8dB0Z9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1146&quot; height=&quot;241&quot; data-filename=&quot;화면 캡처 2023-07-17 144711.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;241&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 캡처 2023-07-17 144753.png&quot; data-origin-width=&quot;1585&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7UXBn/btsnOft2ADz/iq0EtXCgHfu6I3hygLmHx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7UXBn/btsnOft2ADz/iq0EtXCgHfu6I3hygLmHx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7UXBn/btsnOft2ADz/iq0EtXCgHfu6I3hygLmHx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7UXBn%2FbtsnOft2ADz%2Fiq0EtXCgHfu6I3hygLmHx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1585&quot; height=&quot;100&quot; data-filename=&quot;edited_화면 캡처 2023-07-17 144753.png&quot; data-origin-width=&quot;1585&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;728&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwt7VT/btsnHR8jbYh/NSvWBB2GQKERMcM0TgPVf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwt7VT/btsnHR8jbYh/NSvWBB2GQKERMcM0TgPVf0/img.png&quot; data-alt=&quot;pack에 사용하는 변수형 format&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwt7VT/btsnHR8jbYh/NSvWBB2GQKERMcM0TgPVf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwt7VT%2FbtsnHR8jbYh%2FNSvWBB2GQKERMcM0TgPVf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;525&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;728&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;pack에 사용하는 변수형 format&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;기존&amp;nbsp; read_data() 는 ASCII 전송으로, 패킷 손실 사항이 고려되지 않아 데이터 손실이 발생하는 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;무선 네트워크 전송 시, 프로그램이 멈추는 현상이 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;프로그램이 멈추는 문제를 해결하기 위해 ASCII 전송에서 binary 전송으로 함수를 수정/보완한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;마지막 end point 가 '0xFB' 가 아니라면 정상적인 패킷이 아니므로 시작점을 다시 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;def find_SOP(pSerial_obj):
    pSOP_code = [0xFF, 0xFA]
    check_code = [0x00, 0x00]

    while not(np.array_equal(pSOP_code, check_code)) :
        check_code = np.roll(check_code,-1)     # Left shift
        try:
            read_data = pSerial_obj.read(1)
            check_code[1] = read_data[0]
        except:
            print('next signal does not exist')
            return False
    return True&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>binary</category>
      <category>Python</category>
      <category>Serial</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/68</guid>
      <comments>https://paatata.tistory.com/68#entry68comment</comments>
      <pubDate>Tue, 18 Jul 2023 15:38:51 +0900</pubDate>
    </item>
    <item>
      <title>[NVIDIA GPU 활용 발표] CUDA | TensorRT</title>
      <link>https://paatata.tistory.com/67</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;CPU? GPU?&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oAIEq/btsnvZeyUjI/NedAagGOCjV98jTT0CwtPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oAIEq/btsnvZeyUjI/NedAagGOCjV98jTT0CwtPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oAIEq/btsnvZeyUjI/NedAagGOCjV98jTT0CwtPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoAIEq%2FbtsnvZeyUjI%2FNedAagGOCjV98jTT0CwtPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;253&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 102px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 17px;&quot;&gt;&lt;b&gt;CPU&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 17px;&quot;&gt;&lt;b&gt;GPU&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Central Processing Unit&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Graphics Processing Unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Several cores&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Many cores&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Low latency&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;High throughput&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Good for serial processing&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Good for parallel processing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Can do handful of operations at once&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;Can do thousands of operations at once&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image-8-1024x506.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgCA63/btsnwZFn8Nn/BcS3APy2uXTKyKnj26okP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgCA63/btsnwZFn8Nn/BcS3APy2uXTKyKnj26okP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgCA63/btsnwZFn8Nn/BcS3APy2uXTKyKnj26okP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgCA63%2FbtsnwZFn8Nn%2FBcS3APy2uXTKyKnj26okP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;272&quot; data-filename=&quot;image-8-1024x506.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;CUDA(Computed Unified Device Architecture&lt;/b&gt;&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&quot;CUDA is a parallel comoputing platform and programming model that makes using a GPU for general purpose computing simple and elegant.&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;프로그래밍 언어로 작성된 프로그램을 CUDA extention을 통해 GPU 연산이 가능하게 만드는 컴퓨팅 플랫폼이자 프로그래밍 모델&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZyNdg/btsnxkChdPu/VyE29IkEd2tFMW5TDF3s3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZyNdg/btsnxkChdPu/VyE29IkEd2tFMW5TDF3s3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZyNdg/btsnxkChdPu/VyE29IkEd2tFMW5TDF3s3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZyNdg%2FbtsnxkChdPu%2FVyE29IkEd2tFMW5TDF3s3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;446&quot; height=&quot;218&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;GPU에서 실행되는 코드로, 메모리 구조를 관리해야 하는 까다로운 작업..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 딥러닝을 위해 CUDA 코드를 직접 작성하는 일은 없을 것!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&quot;CUDA&amp;nbsp;enables developers to speed up compute-intensive applications by harnessing the power of GPUs for the parallelizable part of the computation&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;TensorRT&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;학습된 딥러닝 모델을 최적화하여 NVIDIA GPU 상에서 추론 속도를 향상시켜 딥러닝 서비스 개선하는데 도움 주는 모델 최적화 엔진&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Pytorch, Tensorflow 등 딥러닝 프레임워크를 통해 짜여진 모델을 TensorRT를 통해 모델 최적화&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&amp;gt; JETSON TX2, NVIDIA GPU 플랫폼에 싣는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;EX_&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Pytorch 통해 학습된 모델을 Onnx로 변환하고, Onnx 모델을 TensorRT Engine으로 변환해 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Training | Inference&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Behold_Image2.png&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;538&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWe9Rf/btsnyg7s5Ut/8JhkKPDBh7oL5z7qU3OtO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWe9Rf/btsnyg7s5Ut/8JhkKPDBh7oL5z7qU3OtO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWe9Rf/btsnyg7s5Ut/8JhkKPDBh7oL5z7qU3OtO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWe9Rf%2Fbtsnyg7s5Ut%2F8JhkKPDBh7oL5z7qU3OtO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;377&quot; height=&quot;262&quot; data-filename=&quot;Behold_Image2.png&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;538&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;학습: 축적된 데이터를 바탕, 신경망 내의 정보 전달 관련 가중치를 업데이트 하여 &lt;u&gt;딥러닝 모델 만들기&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 요구되는 하드웨어 성능 = Throughput&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Forward/Backward Propagation을 반복하기 때문에 대량의 데이터를 한번에 많이 처리할 수 있는 Throughput 요구&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 연산량이 큰 가속기 GPU&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;추론: 만들어진 모델을 활용해 주어진 입력에 대한 해석 결과&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;요구되는 하드웨어 성능 =&lt;span&gt; Latency&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;추론 요구의 도착부터 수행 완료까지 걸리는 시간&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;GPU 가속을 위해서 어쩌구.. 활용 방법에 대한 발표였는데&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;CUDA 에서는 자체적인 GPU 내 메모리를 할당 해제 관리 가능하다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;=&amp;gt; 여러 연산 수행 시 데이터를 GPU&amp;nbsp; 메모리로 복제하고 연산 수행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;CUDA Runtime API: System Memory를 Host, GPU Memory를 Device로 구분&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;1. 데이터를 System Memory에서 GPU Memory로 (HostToDevice)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;2. GPU Memory에서 GPU Memory로 (DeviceToDevice)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;3. GPU Memory에서 System Memory로 (DeviceToHost) &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;데이터를 읽어서 GPU로 처리하는 일련의 과정은 Storage -&amp;gt; System Memory -&amp;gt; Device Memory로 데이터 복제&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;반복되어 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;성능 저하의 원인이 된다.. -&amp;gt; 이거를 어떻게 해결하면 좋을지&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;s&gt;그래서 이거를 어디다 쓸 수 있는걸까..?&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>CUDA</category>
      <category>TensorRT</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/67</guid>
      <comments>https://paatata.tistory.com/67#entry67comment</comments>
      <pubDate>Fri, 14 Jul 2023 13:49:51 +0900</pubDate>
    </item>
    <item>
      <title>Set-to-Sequence Methods in Machine Learning:a Review</title>
      <link>https://paatata.tistory.com/66</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;리뷰 논문: &lt;a href=&quot;https://dl.acm.org/doi/pdf/10.1613/jair.1.12839&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Set-to-Sequence&amp;nbsp;Methods&amp;nbsp;in&amp;nbsp;Machine&amp;nbsp;Learning:&amp;nbsp;a&amp;nbsp;Review&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-14 095540.png&quot; data-origin-width=&quot;807&quot; data-origin-height=&quot;281&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8Gs5t/btsnw0clK4H/B2fGxqjp9hnKqktnSljzM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8Gs5t/btsnw0clK4H/B2fGxqjp9hnKqktnSljzM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8Gs5t/btsnw0clK4H/B2fGxqjp9hnKqktnSljzM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8Gs5t%2Fbtsnw0clK4H%2FB2fGxqjp9hnKqktnSljzM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;807&quot; height=&quot;281&quot; data-filename=&quot;화면 캡처 2023-07-14 095540.png&quot; data-origin-width=&quot;807&quot; data-origin-height=&quot;281&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;집합 -&amp;gt; sequence 출력에서 의 기계학습&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-응용) 언어 모델링, meta-learning to multi agent atrategy games, power grid optimization&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. Introduction&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1.1 What is Set-to-Sequence?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-input = &lt;u&gt;순서가 없는&lt;/u&gt; 원소들의 모음 (Set)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-output = &lt;u&gt;순서가 있는&lt;/u&gt; Sequence&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Problem&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 조합 최적화&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Combinatorial Optimization: 유한 탐색 공간에서 최적해 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Traveling Salesman&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Jop ship scheduling&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Knapsack Problem&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;대부분 NP-Hard Problem&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- TSP&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;여행 거리의 총합이 최소가 되도록 전체 노드이 순회 순서 결정하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;n개 노드에 대한 모든 순열 탐색 -&amp;gt; 적절한 heuristic 사용해 탐색 공간을 줄이는 방식으로 효율 높인다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;딥러닝을 사용해 TSP 문제의 학습이 가능함을 보임 (Pointer network)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 임의 개수의 노드에 대해 동작할 수 있다는 것이 특징&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 상대적으로 적은 노드의 TSP&amp;nbsp; 학습 후, 더 많은 노드의 TSP 에 대해 동작하도록&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 구조 예측&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 집합 인코딩, 순열 학습&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이미지/저연어 문장(구조화된 데이터)과 달리 &amp;lt;-&amp;gt; 집합 = 내부 구조/순서 없다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 의미있는 순열 불변 표현을 얻는 것이 중요 (meaningful permutation invariant representations)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 집합 요소의 &lt;u&gt;순서와 무관한, 집합의 핵심 특성이나 특징&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1.2 Why Does Set-to-Sequence Matter? &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;계산적으로 다루기 어려운 문제에 대한 approximate solution 제공 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ex&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;_&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;Travelling Salesman Problem&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;_tackling prominent NLP challenges such as sentence ordering&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;_text summarization&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;_&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;multiagent reinforcement learning&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;_&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;the agent employed by the AlphaStar model&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;✎&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;Section 2&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;필요한 배경 개념과 관련 연구 소개&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;표기법에 대한 구체적인 설명&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;Section 3&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;집합 인코딩 방버의 개요 제시&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;수학적 변환의 세부 사항&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;nbsp;Section 4&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;인코딩된 집합 표현을 사용해 복잡한 순열 출력하는 방법 조사&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;Section 5&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;현재 한계와 추가 연구 방향&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;b&gt;Section&lt;/b&gt; &lt;b&gt;6&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;요약&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Pointer Network&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;수정된 어텐션 메커니즘을 포함한 인코더-디코더 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;learning a target reordering of input elements&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 다양한 입력 크기의 조합 최적화 문제를 해결하기 위해 설계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 잘 일반화되는 것으로 알려짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- content-based attention 메커니즘의 수정 포함&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 모델의 출력을 입력 시퀀스 요소를 가리키는 포인터로 취급&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&amp;lt;= 모델이 입력 순열을 출력할 수 있는 방법 중 하나..&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2.1 Pointer Networks Limitations&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 입력을 집합을 처리하지 않고 순차적인 순환 신경망을 통해 처리해&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 인코딩된 집합의 순열 불변 표현을 얻지 못한다 &amp;gt;&amp;nbsp;동일한 집합이 서로 다른 순서로 표현될 수 있어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 모델이 서로 다른 출력을 예측할 수 있는 상황 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= &lt;b&gt;최적의 순서를 반환하는 것은 보장되지 X&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. 모델이 입력 집합이나 시퀀스의 잘못된 재정렬 출력 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 추론 중에 beam search나 점진적으로 마스킹하는 방법으로 완화 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2.2 Pointer Networks Details &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-14 094340.png&quot; data-origin-width=&quot;313&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dAwupP/btsnwlVzgBv/Dih8rnrSBewpauSC5WITuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dAwupP/btsnwlVzgBv/Dih8rnrSBewpauSC5WITuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dAwupP/btsnwlVzgBv/Dih8rnrSBewpauSC5WITuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdAwupP%2FbtsnwlVzgBv%2FDih8rnrSBewpauSC5WITuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;313&quot; height=&quot;104&quot; data-filename=&quot;화면 캡처 2023-07-14 094340.png&quot; data-origin-width=&quot;313&quot; data-origin-height=&quot;104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;포인터 네트워크는 RNN encoder와 수정된 어텐션 메커니즘을 가진 RNN decoder 로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모델은 각 디커도 단계 j 에서 content 기반 어텐션 벡터 aj 를 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이 벡터는 각 입력 요소 xi 가 해당 단계에서 가리키는 올바른 요소로서의 조건부 확률 &amp;lt;= 이전 모든 단계와 전체 입력 시퀀스에 의존&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 요소 xi는 정확히 한 번 가리켜야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 음이 아닌 정수 포인터로 이루어진 출력 시퀀스 yi 가 유효한 순열 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;pi;를 나타내도록&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;dj는 j 번째 출력 요소에서의 디코더 은닉 상태,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;ei는 i 번째 입력 요소에서의 인코더 은닉 상태&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;W1, W2, v는 학습 가능한 tensor&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;zj는 입력 x의 길이와 동일, 입력 요소의 사전에 대한 출력 분포&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-14 094440.png&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjDme7/btsnwlHXTrQ/g836JlSAPIbk0JqujkyL00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjDme7/btsnwlHXTrQ/g836JlSAPIbk0JqujkyL00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjDme7/btsnwlHXTrQ/g836JlSAPIbk0JqujkyL00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjDme7%2FbtsnwlHXTrQ%2Fg836JlSAPIbk0JqujkyL00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;258&quot; data-filename=&quot;화면 캡처 2023-07-14 094440.png&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;321&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2.3 Pointer Networks Applications&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 조합 최적화 문제에 대해 테스트 결과&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;문제 규모에 따라 제한적이지만 근사 솔루션 학습 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  글을 날림으로 읽지 말고 이해하자..&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>pointer network</category>
      <category>set-to-sequence</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/66</guid>
      <comments>https://paatata.tistory.com/66#entry66comment</comments>
      <pubDate>Fri, 14 Jul 2023 11:06:24 +0900</pubDate>
    </item>
    <item>
      <title>[PyQt5] Python을 위한 GUI 라이브러리</title>
      <link>https://paatata.tistory.com/65</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. Layout&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: 어플리케이션 창 위에 위젯을 배치하는 방식&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 &lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;Absolute positioning&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 위젯의 위치와 크기를 픽셀 단위로 설정해 배치&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 창의 크기를 조절해도 위젯의 크기/위치는 변하지 않아&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 플랫폼에 따라 어플리케이션이 다르게 보일 수 있어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 폰트 변경 시 레이아웃 망가질 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 레이아웃 변경 시 완전히 새로 고쳐야 하므로 매우 번거로움..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 Box layout&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;QHBoxLayout, QVBoxLayout은 여러 위젯을 수평, 수직으로 정렬하는 레이아웃 클래스&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 &lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;생성자는 수평, 수직의 박스를 하나 만들어 &amp;lt;- 다른 레이아웃 박스 or 위젯 배치&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;addStretch() - 필요한 공간 만들고, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;stretch factor 조절&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689299730654&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;vbox = QVBoxLayout()
vbox.addStretch(3)
vbox.addLayout(hbox)
vbox.addStretch(1)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #5f5f5f; text-align: start;&quot;&gt;1.3 Grid layout&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689297828847&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;grid = QGridLayout()
self.setLayout(grid)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;QGridLaoyout을 만들고, 어플리케이션 창의 레이아웃으로 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689299877255&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;grid.addWidget(QLabel('Title:'), 0, 0)		# 추가할 위젯, 행, 열
grid.addWidget(QLabel('Author:'), 1, 0)
grid.addWidget(QLabel('Review:'), 2, 0)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Layout 중첩&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 130959.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nFhR2/btsnF5k3eCi/uxdPs4fYvzbNppIDSDzL41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nFhR2/btsnF5k3eCi/uxdPs4fYvzbNppIDSDzL41/img.png&quot; data-alt=&quot;https://wikidocs.net/5245&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nFhR2/btsnF5k3eCi/uxdPs4fYvzbNppIDSDzL41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnFhR2%2FbtsnF5k3eCi%2FuxdPs4fYvzbNppIDSDzL41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;441&quot; height=&quot;296&quot; data-filename=&quot;화면 캡처 2023-07-17 130959.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://wikidocs.net/5245&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. Widget&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;어플리케이션을 이루는 기본 구성 요소, PyQt 툴킷에서 다양한 위젯을 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ &lt;a href=&quot;https://codetorial.net/pyqt5/widget/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;둘러보기&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. Dialog&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;사용자가 데이터를 입력, 수정, 어플리케이션 설정 변경하는 작업하는데 사용 (대화창)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;+ &lt;a href=&quot;https://codetorial.net/pyqt5/dialog/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;둘러보기&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4. Signal / Slot&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;PyQt에서 이벤트(=signal) 처리 할 때 사용되는 함수, 이벤트 핸들러를 슬롯이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;사용자 정의 시그널&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689555116216&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Communicate(QObject):

    closeApp = pyqtSignal()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Communicate class 속성으로 closeApp 시그널을 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689555215419&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class MyApp(QMainWindow):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.c = Communicate()
        self.c.closeApp.connect(self.close)

        self.setWindowTitle('Emitting Signal')
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def mousePressEvent(self, e):
        self.c.closeApp.emit()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;MyApp 클래스의 close() 슬롯에 연결되고 mousePressEvent 핸들러를 사용해, 마우스 클릭 시 closeApp 시그널이 동작&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4. PyQTt5 그림 그리기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;QPainter 클래스는 GUI 프로그램에 필요한 '그리기'와 관련된 기능을 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;QPainter&lt;span&gt; 의 동작은 일반적으로 위젯의 페인트 이벤트를 통해 이루어진다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;5. 실행파일 만들기 (PyInstaller)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;PyInstaller 를 이용해 python과 pyQt로 제작한 GUI 프로그램을 실행파일(exe)로 만들 수 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;1. Pyinstaller 패키지 설치&lt;/p&gt;
&lt;pre id=&quot;code_1689555542394&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pyinstaller&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. python 파일이 있는 폴더로 이동 후, 아래 명령어로 해당 폴더에 실행 파일 생성&lt;/p&gt;
&lt;pre id=&quot;code_1689555617798&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pyinstaller (-w | -F) file_name.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;콘솔창이 출력되지 않게 하려면 -w 또는 -windowed 옵션을 추가한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;실행 파일 하나만 생성하기 위해서는 -F 또는 -onefile 옵션을 추가한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>GUI</category>
      <category>pyqt5</category>
      <category>Python</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/65</guid>
      <comments>https://paatata.tistory.com/65#entry65comment</comments>
      <pubDate>Fri, 14 Jul 2023 11:05:17 +0900</pubDate>
    </item>
    <item>
      <title>Pointer Networks</title>
      <link>https://paatata.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;논문: &lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://arxiv.org/pdf/1506.03134v2.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Vinyals, Oriol, Meire Fortunato, and Navdeep Jaitly. &quot;Pointer networks.&quot;&amp;nbsp;&lt;i&gt;Advances in neural information processing systems&lt;/i&gt;. 2015.&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vQxk5/btsnru5A6ot/dhicxgXdLrWyJizQ1MttRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vQxk5/btsnru5A6ot/dhicxgXdLrWyJizQ1MttRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vQxk5/btsnru5A6ot/dhicxgXdLrWyJizQ1MttRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvQxk5%2Fbtsnru5A6ot%2FdhicxgXdLrWyJizQ1MttRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;144&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Abstract&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;조합 최적화 문제를 딥러닝을 활용해 해결하기 위한 모델 제안 =&amp;gt; Pointer Networks&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;? 조합 최적화 문제: 입력으로 주어진 요소 중 최적의 조합 찾기, ex) 최단 경로 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;입력 길이에 의존하기 때문에, 가변적 입력 길이 문제에 대해 기존 모델로 좋은 성능을 얻기 어려워&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;: seq2seq 과 neural turing machine 접근법으로는 문제를 해결하기 어려움&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* seq2seq&lt;/b&gt;: 고정된 입력에 대해 문제를 해결할 수 있어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* attention 메커니즘: &lt;/b&gt;각 디코더 단계에서 인코더의 hidden state -&amp;gt; context vector로 혼합&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* ptr-net: 어텐션을 포인터로 사용해 입력 시퀀스의 구성원을 출력으로 선택&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;논문에서 소개하는 조합 최적화 문제 3가지 planar convex hulls |&lt;/span&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt; computing Delaunay triangulations | &lt;/span&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;planar Traveling Salesman Problem&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; ptr-nets 으로 approximate solution을 학습 가능&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. Introduction&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RNN: 입력과 출력이 고정된 &lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;프레임 속도로 사용 가능한 설정에 제한,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;-&amp;gt; 하나의 RNN 사용해 입력 시퀀스 임베딩으로 매핑하고, 다른 RNN 사용해 임베딩을 출력 시퀀스로 매핑해 제한 제거&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; context-based attention 메커니즘 사용해 입력으로부터 문맥 정보를 디코더에 전달해 보강&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;순환 신경망 (Recurrent Neural Network, &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;RNN&lt;/span&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;- 시퀀스 데이터를 처리하는 데 특화, 자연어 처리, 음성 인식, 시계열 예측 문제에 사용&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ex_ 번역기:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- input = 번역하고자 하는 단어 시퀀스인 문장&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- output = 번역된 문장 (단어 시퀀스)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 동일한 가중치와 bias를 공유하면서 반복되는 구조, 길이가 긴 시퀀스에 대해서 일정한 크기의 파라미터만 사용하여 학습 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Long-term dependency problem, 입력과 출력 사이의 거리가 멀어질수록 정보를 기억하지 못해&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;LSTM과 GRU 같은 RNN 의 변형 개발: 기본 구조에 GATE 메커니즘 추가&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;bull; 간단하고 효과적인 새로운 구조 제안, 가변적인 길이에서 발생하는 문제를 해결하기 위해 sofmax 분포를 포인터로 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;bull;&amp;nbsp; 기하학과 관련된 3가지 알고리즘 문제에 적용해, 학습된 모델이 훈련 문제보다&amp;nbsp; 테스트 문제에 대해 일반화된다는 것을 보여줌.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;bull; 50 이하의 크기에서 TSP 문제에 대한 근사적인 해답 제공, 계산적으로 다루기 힘든 문제에 대해 데이터 기반 접근법으로 대략적인 솔루션 학습할 수 있음 보여줌.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. Models&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2-1 Sequence-to-Sequence&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;주어진 훈련쌍에 대해 모델은 조건부 확률 계산, &lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;매개 변수 &amp;theta;를 가진 모델을 사용해 확률 체인 룰의 항목 추정&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 094604.png&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;63&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HJbfz/btsm8PpaQtz/GI8RNoL7oPgy3KPtC53Vo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HJbfz/btsm8PpaQtz/GI8RNoL7oPgy3KPtC53Vo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HJbfz/btsm8PpaQtz/GI8RNoL7oPgy3KPtC53Vo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHJbfz%2Fbtsm8PpaQtz%2FGI8RNoL7oPgy3KPtC53Vo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;321&quot; height=&quot;63&quot; data-filename=&quot;화면 캡처 2023-07-11 094604.png&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;63&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;P = 길이 n의 시퀀스&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;C = 1 .. n 까지의 인덱스 포함하는 길이 m(P)의 시퀀스&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 094851.png&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;44&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MHUb9/btsm8JvZr2a/tkunlr23nqkGRknQYQWErk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MHUb9/btsm8JvZr2a/tkunlr23nqkGRknQYQWErk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MHUb9/btsm8JvZr2a/tkunlr23nqkGRknQYQWErk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMHUb9%2Fbtsm8JvZr2a%2Ftkunlr23nqkGRknQYQWErk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;242&quot; height=&quot;44&quot; data-filename=&quot;화면 캡처 2023-07-11 094851.png&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;44&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모델의 매개변수는 훈련 세트의 조건부 확률 최대화 하는 방식으로 학습.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;LSTM 사용하여 조건부확률 모델링. RNN은 각 시간 단계 i 에서 Pi 를 입력으로 받아, 입력 시퀀스 끝까지 진행. (특수 심벌 &lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&amp;rArr; 입력&lt;/span&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;네트워크는 generation mode로 전환되어 특수 심벌 &lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;lArr;를 만날 때까지 작동한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;(통계적 독립성 가정 X, 2개의 RNN -&amp;gt; encoder, decoder)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;추론 단계에서 시퀀스 P에 대해 학습된 &lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&amp;theta; 사용하여 확률이 가장 높은 시퀀스 Cp선택&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;beam search 사용해 beam 크기에 따라 최상의 시퀀스 찾아&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;(beam search: 일정 개수의 후보 시퀀스 유지하고, 각 시퀀스의 확률 계산해 우수한 후보 선택)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;seq2seq 모델에서 모든 Ci 에 대한 출력 사전 크기는 n 으로 고정(입력에서 선택된다)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;=&amp;gt; 각 n 에 대해 별도의 모델 훈련&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;=&amp;gt; 입력 시퀀스 길이에 따라 출력 사전의 크기가 달라지는 문제 해결 학습 불가능!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;출력 수가 O(n)인 경우, 모델 계산복잡도 = O(n)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;Convex hull 문제 복잡도 = O(n log n)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;Attention mechanism 은 해당 모델에 더 많은 계산 용량 추가해, 성능 향상시키는 데 도움이 되는 추가적인 계산 능력 제공&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;2-2 Content Based Input Attention&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #374151;&quot;&gt;기본 seq2seq 모델은 입력 p 의 끝에서 RNN의 고정 차원 상태를 사용해 전체 시퀀스를 생성해 생성 모델로 흐르는 정보와 계산양이 제한됨.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Attention 모델은 인코더, 디코더에 추가적인 신경망 도입해 전체 인코더 상태 시퀀스에 대해 어텐션 메커니즘 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;인코더, 디코더의 hidden state 를 (e1, ... , en) , (d1, ... , dn)이라고 정의 했을 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;LSTM RNN 에 대해서 출력 게이트가 셀 활성화와 요소별로 곱해진 후의 상태 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 출력 시점 i 에서 어텐션 벡터 계산 방법:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 122831.png&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4xnTf/btsm5tf5AQd/LKUG9L2rcqrMIDswebiRDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4xnTf/btsm5tf5AQd/LKUG9L2rcqrMIDswebiRDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4xnTf/btsm5tf5AQd/LKUG9L2rcqrMIDswebiRDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4xnTf%2Fbtsm5tf5AQd%2FLKUG9L2rcqrMIDswebiRDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;282&quot; height=&quot;91&quot; data-filename=&quot;화면 캡처 2023-07-11 122831.png&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;91&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- softmax: 벡터를 입력에 대한 어텐션 마스크로 정규화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- v, W1, W2: 학습 가능한 매개변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- d_: 재귀 모델의 다음 시점에 전달되는 hidden state&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;각 출력마다 n개의 연산을 수행하므로, 추론 시 계산 복잡도 = O(n^2)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- Convex hull 문제에서 seq2seq 모델보다 우수한 성능보이지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;=&amp;gt; 출력 크기가 입력에 따라 달라지는 문제에 적용할 수 없다!&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2-3 Ptr-Net&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 093215.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv1TNV%2Fbtsm83tV3OI%2FIwZTBfyw8De1QNn2d5y6pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;554&quot; height=&quot;303&quot; data-filename=&quot;화면 캡처 2023-07-11 093215.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- seq2seq:&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;파란색(RNN): 입력 시퀀스 처리해 code vector 생성,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;code vector 사용해 probabiltity chain rule과 다른 RNN 통해 출력 시퀀스(보라색) 생성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(출력의 차원은 문제 차원과 동일하며 훈련/추론 중에 고정된다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;- Ptr-Net&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;인코딩은 시퀀스를 파란색(code)로 변환하고, 이 코드를 generating network(보라색)에 전달한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;generating network는 입력에 대한 content-based attention 메커니즘을 조절하는 벡터 생성&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;어텐션 메커니즘의 출력은 입력 길이와 동일한 크기의 Softmax distribution&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;입력 시퀀스 길이에 따라 출력 크기가 달라지는 조합 문제에 직접 적용할 수 없어&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;-&amp;gt; 어텐션 메커니즘 재활용 =&amp;gt; 입력에 대한 포인터 생성&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&amp;nbsp; (data driven 방식으로 근사적인 해결책 생성)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 153528.png&quot; data-origin-width=&quot;389&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uzOxu/btsm82plkqI/BJ0Yb0O33xAl4bLQuhZAxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uzOxu/btsm82plkqI/BJ0Yb0O33xAl4bLQuhZAxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uzOxu/btsm82plkqI/BJ0Yb0O33xAl4bLQuhZAxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuzOxu%2Fbtsm82plkqI%2FBJ0Yb0O33xAl4bLQuhZAxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;389&quot; height=&quot;48&quot; data-filename=&quot;화면 캡처 2023-07-11 153528.png&quot; data-origin-width=&quot;389&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- softmax: 벡터 u를 입력에 대한 출력 분포로 정규화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- v, W1, W2:&amp;nbsp; 출력 모델의 학습 가능한 매개변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; encoder state(e_i) 를 혼합하여 디코더로 전달하는 대신 입력 요소를 가리키는 포인터로 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; C(i-1)에 대해 조건을 걸기 위해 해당하는 Pc(i-1) 을 입력으로 복사한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;** 출력이 이산값이며 입력 위치에 해당하는 문제를 대상으로 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RNN 사용하여 대상 점의 좌표를 직접 출력하는 방식으로 학습 가능.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;** 추론 시 출력이 입력과 정확히 대응되어야 한다는 제약을 지키지 못해, 제약이 없으면 예측은 긴 시퀀스에서 흐릿해질 수 있다&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. Motivation and DataSet Structures&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3.1 Convex Hull&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;훈련 데이터 입력은 n개의 요소를 가진 평면상의 점 집합(P)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Pj = &lt;u&gt;볼록 껍질, Delaunay triangulation, Travelling Salesman&lt;/u&gt; 문제 해를 찾기 위해 사용되는 점의 직교 좌표&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모든 경우에 대해 [0, 1] x [1, 0] 범위 균일한 분포에서 샘플링한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;출력 Cp 는 점 집합 P에 대한 솔루션 나타내는 시퀀스&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 165510.png&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VbkEg/btsnfstMhKW/OoM5DbKC3BTgEsVMN5eLK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VbkEg/btsnfstMhKW/OoM5DbKC3BTgEsVMN5eLK1/img.png&quot; data-alt=&quot;input/output pair (P, C P ) for the convex hull and the Delaunay problems.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VbkEg/btsnfstMhKW/OoM5DbKC3BTgEsVMN5eLK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVbkEg%2FbtsnfstMhKW%2FOoM5DbKC3BTgEsVMN5eLK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;486&quot; height=&quot;151&quot; data-filename=&quot;화면 캡처 2023-07-11 165510.png&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;input/output pair (P, C P ) for the convex hull and the Delaunay problems.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3.2 Delaunay Triangulation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;평면상의 점 집합 P에 대한 Delaunay 삼각 분할: 모든 삼각형 내부에 P의 어떤 점도 포함되지 않는 삼각분할&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;O(n log n) solution 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Cp 시퀀스의 어떤 순열도 P에 대한 동일한 삼각분할을 나타낸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;amp; 3개의 정수로 이루어진 삼각형 표현 Ci 도 순열이 될 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 손실 감소시키지 않기 위해 훈련 시 볼록껍질에 대해, 삼각형 Ci를 중심 좌표에 따라 정렬하고 증가하는 삼각형 표현을 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(순서를 적용하지 않은 경우, 학습된 모델의 성능 좋지 않아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3.3 Travelling Salesman Problem (TSP)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;외판원 문제: 마이크로칩 설계, DNA 시퀀싱에 사용되는 알고리즘 &amp;gt;&amp;gt; &lt;u&gt;평면 대칭 TSP 에 초점&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;주어진 도시 목록에서 각 도시를 정확히 한 번씩 방문, 시작점으로 돌아가는 가장 짧은 경로 찾기&lt;/i&gt;&lt;/u&gt;&lt;i&gt; &lt;/i&gt;&lt;i&gt;=&amp;gt; NP-Hard 문제&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(두 도시 간의 거리는 반대 방향에서도 동일하다 가정)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Convex hull 과 유사한 형식,&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;P: 도시를 나타내는 직교 좌표, [0, 1] x [1, 0] 사각형에서 무작위로 선택&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Cp: 최적 경로, 1 ~ n 까지의 정수 순열&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;정확한 데이터를 생성하기 위해 Held-Karp 알고리즘 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;: O(2^n * n^2) 복잡도로 최적해를 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. Empirical Results&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4.1 Architecture and Hyperparameters&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모든 실험/dataset 에서 거의 동일한 아키텍처 사용 (동일한 하이퍼 파라미터 적용 하는 것이 논문 메시지 강화)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;256 or 512 개의 hidden unit 이 있는 단일 레이어 LSTM 사용&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- learning rate = 1.0&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- batch size = 128&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- random uniform weight = -0.08 ~ 0.08&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- L2 gradient clipping = 2.0&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Generated 1M training example pairs (task 가 단순한 경우 overfitting 발생)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;10 to 20 epoch 이후&lt;span&gt;&amp;nbsp;&lt;/span&gt;Training converged&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4.2 Convex Hull&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 정확도 (accuracy) : &lt;span style=&quot;color: #006dd7;&quot;&gt;최적&amp;nbsp; convex hull 과 완전히 일치한 정답을 내놓은 경우&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- area convered of the true convex hull : &lt;span style=&quot;color: #006dd7; text-align: start;&quot;&gt;최적&amp;nbsp; convex hull 과 겹치는 영역의 비율&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- FAIL:&amp;nbsp; 제대로된 polygon을 만들어 내지 못하는 경우&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-12 174340.png&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tb92j/btsno6J6D6c/F5Ce06I1FmSFKNTARUok70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tb92j/btsno6J6D6c/F5Ce06I1FmSFKNTARUok70/img.png&quot; data-alt=&quot;Comparison between LSTM, LSTM with attention, and Ptr-Net model on the convex hull problem.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tb92j/btsno6J6D6c/F5Ce06I1FmSFKNTARUok70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftb92j%2Fbtsno6J6D6c%2FF5Ce06I1FmSFKNTARUok70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;367&quot; height=&quot;218&quot; data-filename=&quot;화면 캡처 2023-07-12 174340.png&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Comparison between LSTM, LSTM with attention, and Ptr-Net model on the convex hull problem.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;lt;결과 해석&amp;gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- Ptr-Net으로 달성한 AREA는 100% 에 가깝다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- n = 500:&amp;nbsp; convex hull 에서 해결해야 하는 common source of errors, 추론 중 인코더 입력 순서가 성능에 영향을 미친다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=&amp;gt; convex hull의 점들이 입력 시퀀스에서 늦게 나타나면 때 정확도가 낮아진다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;왜??&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 아마 네트워크가 최신 점들이 나타날 때까지 계산한 convex hull을 &quot;update&quot;하기 충분한 처리 단계가 없어&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 2.2 절에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;어텐션 메커니즘 사용해 디코더가 언제든지 전체 입력을 확인 할 수 있도록&lt;/b&gt;&lt;/i&gt;!&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;성능 향상 O&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=&amp;gt; Attention의 초점 = 입력 부분에서 정답을 &quot;&lt;b&gt;pointing&lt;/b&gt;&quot; =&amp;gt; 2.3절 Ptr-Net inspired ^^&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 093722.png&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/txZ34/btsnS0CtN1s/HiLiFx15zmudn1ZlFJtyi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/txZ34/btsnS0CtN1s/HiLiFx15zmudn1ZlFJtyi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/txZ34/btsnS0CtN1s/HiLiFx15zmudn1ZlFJtyi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtxZ34%2FbtsnS0CtN1s%2FHiLiFx15zmudn1ZlFJtyi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;174&quot; height=&quot;352&quot; data-filename=&quot;화면 캡처 2023-07-17 093722.png&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;LSTM 과 Attention LSTM 보다 우수한 성능&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 가변 길이: 모델을 5~50 까지 다양한 길이로 훈련할 때, 모든 길이에 대해 잘 수행&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 모델이 훈련 중에 본 적없는 길이에 대해서도 수행, 모델이 단순한 &lt;i&gt;Lookup &lt;/i&gt;&amp;nbsp;이상을 학습한 것을 간접적으로 나타냄&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(LSTM, LSTM with Attention dms n !&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;= n 인 경우, 새로운 모델 훈련시켜야 사용 가능)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4.3 Delaunay Triangulation&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Convex hull 찾기 문제와 연결.. 주어진 점들의 들루네 삼각분할은 convex hull을 삼각형으로 분할&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;입력 점 집합 P에 대해 output sequence = 하나의 집합 (요소들의 임의의 순열은 동일한 triangulation을 나타낸다)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- acuracy&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- triangle coverage in percentage(올바르게 예측된 삼각형의 백분율)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 093646.png&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lmuFI/btsnOfmmaqd/gVQ9jzf3DQyGZ2ekVMIE0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lmuFI/btsnOfmmaqd/gVQ9jzf3DQyGZ2ekVMIE0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lmuFI/btsnOfmmaqd/gVQ9jzf3DQyGZ2ekVMIE0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlmuFI%2FbtsnOfmmaqd%2FgVQ9jzf3DQyGZ2ekVMIE0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;169&quot; height=&quot;378&quot; data-filename=&quot;화면 캡처 2023-07-17 093646.png&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;Ptr-Net&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;( n=5 )의 경우, accuracy = 80.7%, coverage = 93.0%&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(n=10)의 경우, accuracy = 22.6%, coverage = 81.3%&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(n=50)의 경우,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;accuracy = ??.?%, coverage = 52.8% [그림 참조]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4.4 Travelling Salesman Problem (TSP)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;NP-Hard: planar symmetric travelling salesman problem&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;순차적인 출력을 가지고 있다.. Ptr-Net이 O(n^2) 알고리즘을 구현하고 있는데, 데이터만으로 유용한 알고리즘 학습할 충분한 용량 가지는지 불분명&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;상대적으로 작은 n 에 대해 정확한 솔루션 생성, 훈련 데이터로 사용하는 것이 가능하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;더 큰 n에 대해서는 합리적인 근사해를 제공하는 알고리즘 존재..&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-12 오후 8.00.35.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOh9X/btsnjbl5aHo/iACVbddKrvlHPkP3F9xSqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOh9X/btsnjbl5aHo/iACVbddKrvlHPkP3F9xSqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOh9X/btsnjbl5aHo/iACVbddKrvlHPkP3F9xSqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOh9X%2Fbtsnjbl5aHo%2FiACVbddKrvlHPkP3F9xSqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;217&quot; data-filename=&quot;스크린샷 2023-07-12 오후 8.00.35.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;convex hull과 delaunay 삼각분할과 달리, 디코더를 제한하여 유효한 경로만 고려하도록 beam search 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 두 개의 도시를 반복하거나 목적지를 무시할 수 있어 (n이 20 초과인 경우 관련 있다, 작은 경우 제한 없어도 실패율 낮아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;표의 첫 번째 그룹: 최적 데이터로 훈련된 Ptr-Net&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;최악 알고리즘(A1) 데이터 사용하여 훈련시킨 경우, 모델이 해당 알고리즘 모방하는 것 보다 뛰어난 성능 보여&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-17 093801.png&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OTRI4/btsnOtdUlWS/baJPyTVv8zkgtkwgQhnFn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OTRI4/btsnOtdUlWS/baJPyTVv8zkgtkwgQhnFn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OTRI4/btsnOtdUlWS/baJPyTVv8zkgtkwgQhnFn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOTRI4%2FbtsnOtdUlWS%2FbaJPyTVv8zkgtkwgQhnFn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;193&quot; height=&quot;338&quot; data-filename=&quot;화면 캡처 2023-07-17 093801.png&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;5-20 개의 도시로 훈려된 최적 데이터로 훈련된 Ptr-Net이 그 이상의 경우에 대해 어떻게 일반화 하는지 보여&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;n=40 이상인 경우 결과 악화 &amp;lt;-&amp;gt; Convex hull의 경우 10배 정도 일반화 가능한데 기반 알고리즘이 O(n log n)보다 더 복잡하기 때문일 수 O&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. Conclusions&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그래서@@&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Ptr-Net 이라는 새로운 아키텍처 소개&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; P와 Cp 두 개의 시퀀스가 주어졌을 때, Cp의 조건부 확률 학습 (Cp 는 P 위치에 해당하는 discrete tokens의 시퀀스)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 세 가지 조합 최적화 문제의 솔루션 학습 할 수 있음 보임&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; ⭐&lt;u&gt;&lt;i&gt;&lt;b&gt;가변적(variable) 입력에&amp;nbsp; 의존적인 출력 차원 조절&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;, 기존 seq2seq이 수행할 수 없는 작업!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; Ptr-Net 이 &lt;b&gt;고정된 입력 크기&lt;/b&gt; 문제에서도 &lt;b&gt;기존 모델 능가&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;과거 RNNSearch, Memory Networks, Neural Turing Machines&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= 입력 처리하기 위해 attention 메커니즘 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;= variable ouput dictionaries 문제 처리할 수 없어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;출력에 attention 메커니즘 적용&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;해 해당 문제를 해결할 수 있음 보였다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 인공적인 가정 없이 신경망을 적용할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-&amp;gt; 본 논문에서 RNNSearch 에 적용하였지만 Memory Networks와 Neural Turing Machines에 동일하게 적용 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Seminar&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Oriol Vinyals: Google DeepMind 의 수석 과학자, 머신러닝, 딥러닝 및 강화 학습 중점&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Meire Fortunato: Google DeepMinde 의 연구 과학자, 시퀀스 모델링, 탐색, 강화 학습에서 메모리 역할 이해 등 기계학습 주제 작업&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Navdeep Jaitly: Google brain 팀의 연구 과학자, 시퀀스를 위한 새로운 딥 러닝 모델 연구&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;일반적인 seq2seq , attention 한계&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; &lt;b&gt;학습 시 정해진 차원에 대한 출력만 결과로&lt;/b&gt; 할 수 있어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; Ptr-Net을 사용하면 출력 차원이 input set 크기와 같게 만들어 구조적 한계 극복!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(solution 차원이 input set의 element 갯수와 같은 크기를 가져야 하는 조합 최적화 문제에 가장 필요한 기능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. ⭐&lt;u&gt;&lt;i&gt;&lt;b&gt;가변적(variable) 입력에&amp;nbsp; 의존적인 출력 차원 조절 (새로운 아키텍처 제안: softmax 분포를 포인터로 사용)&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. Convex hull, Delaunay triangluation, TSP 같은 문제들에 적용하여 검증&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. 순수 data driven 방식만으로 NP hard 문제에 대한 대략적 solution 제공 (작은 범위 내에서)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Attention 메커니즘을 사용해 순서 정보는 보존하면서 시퀀스 내 특정 위치를 가리킬 수 있는 모델 구축&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-11 093215.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv1TNV/btsm83tV3OI/IwZTBfyw8De1QNn2d5y6pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv1TNV%2Fbtsm83tV3OI%2FIwZTBfyw8De1QNn2d5y6pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;455&quot; height=&quot;249&quot; data-filename=&quot;화면 캡처 2023-07-11 093215.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;학습 모델의 목표 = (P, Cp) 애 대해 조건부 확률 p(Cp | P; &lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot;&gt;&amp;theta;) 구하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot;&gt;Ptr-Net &amp;gt; attention mechanism 에서 attention value 를 구하기 전 단계; attention distribution 까지만 출력으로 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot;&gt;&amp;gt; 최대 값을 input set 의 index 로 하여 출력이 input&amp;nbsp; 요소를 가리키도록 구조 짜여져&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&quot;Pointing&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt; We inspected what attention was focusing on, and we observed that it was &amp;ldquo;pointing&amp;rdquo; at the correct answer on the input side. This inspired us to create the Ptr-Net model described in Section 2.3.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;출력 위치 예측하기 위한 가중치 학습 -&amp;gt; 입력 시퀀스 요소에 따라 동적으로 결정, 적절한 위치로 포인팅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;seq2seq&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RNN을 어떻게 조립했는가에 따라 seq2seq 구조 만들어진다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 091858.png&quot; data-origin-width=&quot;392&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF0Et6/btsnnNSInTr/uDj8U51aP90dCIh3Dkb6t0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF0Et6/btsnnNSInTr/uDj8U51aP90dCIh3Dkb6t0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF0Et6/btsnnNSInTr/uDj8U51aP90dCIh3Dkb6t0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF0Et6%2FbtsnnNSInTr%2FuDj8U51aP90dCIh3Dkb6t0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;338&quot; height=&quot;138&quot; data-filename=&quot;화면 캡처 2023-07-13 091858.png&quot; data-origin-width=&quot;392&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2개의 RNN 아키텍처(성능 문제로 바닐라 RNN &amp;gt; LSTM 또는 GRU 구성)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 인코더: 입력 문장의 모든 단어들을 순처적으로 받아 =&amp;gt; 마지막에 모든 단어 정보 압축해 하나의 벡터로 만들어 =&amp;gt; CONTEXT vector&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 디코더: context vector 받아 번역된 단어를 하나씩 순차적으로 출력,&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다음에 올 단어를 예측 -&amp;gt; 예측한 단어를 다음 시점의&amp;nbsp; RNN 입력으로 넣는 행위 반복&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Embedding&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;seq2seq 에서 사용되는 단어들은 임베딩 벡터로 변환 후 입력으로 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOE6gW/btsno6qBNBg/tTsuzeVFRaTHAw6MVntNG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOE6gW/btsno6qBNBg/tTsuzeVFRaTHAw6MVntNG0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;851&quot; data-origin-height=&quot;257&quot; data-filename=&quot;화면 캡처 2023-07-13 124833.png&quot; width=&quot;722&quot; height=&quot;218&quot; style=&quot;width: 38.074%; margin-right: 10px;&quot; data-widthpercent=&quot;38.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOE6gW/btsno6qBNBg/tTsuzeVFRaTHAw6MVntNG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOE6gW%2Fbtsno6qBNBg%2FtTsuzeVFRaTHAw6MVntNG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;851&quot; height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ct3ZYc/btsnpUXznph/6MevnARtLvwgzd7pVUwlrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ct3ZYc/btsnpUXznph/6MevnARtLvwgzd7pVUwlrK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;123&quot; data-filename=&quot;화면 캡처 2023-07-13 124957.png&quot; style=&quot;width: 60.7632%;&quot; data-widthpercent=&quot;61.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ct3ZYc/btsnpUXznph/6MevnARtLvwgzd7pVUwlrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fct3ZYc%2FbtsnpUXznph%2F6MevnARtLvwgzd7pVUwlrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;모든 단어에 대해 임베딩 과정 거쳐 (embedding layer), 보통 임베딩 켁터는 수백 개의 차원을 가질 수 있어..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Decoder&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;디코더는 인코더의 마지막 RNN Cell의 hidden state인 context vector를 첫 번째 히든 상태 값으로 사용.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;첫 히든 상태 &amp;amp; 현재 t 에서의 입력값&amp;lt;sos&amp;gt;&amp;nbsp; =&amp;gt; 다음에 등장할 단어 예측&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;출력 단어로 나올 수 있는 다양한 단어 중, 선택될 수 있는 모든 단어들로부터 하나의 단어 골라 예측&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Softmax: 디코더에서 각 시점의 RNN cell 에서 출력 벡터 =&amp;gt; softmax&amp;nbsp; 통해 출력 시퀀스의 각 단어별 확률값 반환 =&amp;gt; 출력 단어 결정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;++&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;context vector를 디코더 초기 히든 상태로만 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;디코더가 단어를 예측하는 매 시점마다 하나의 입력으로 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;attention 메커니즘 통해 현재 context 벡터보다 문맥을 반영할 수 있도록 매 시점마다 하나의 입력으로 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Attention Mechanism&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RNN 기반의 seq2seq 모델 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 하나의 고정된 크기 벡터에 모든 정보 압축 =&amp;gt; 정보 손실&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. RNN: Vanishing gradient&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 입력 시퀀스가 길어지면 출력 시퀀스의 정확도 떨어지는 것 보정!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; Attention&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 디코더에서 출력 단어를 예측하는 매 시점마다, 인코더에서 전체 입력 문장을 다시 한 번 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 해당 시점에서 예측해야 할 단어와 연관이 있는 입력 단어 부분에 더 &lt;b&gt;집중&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 125906.png&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uIkUg/btsnn6ZauVO/W2zx072JQMFGCTkQyo4Ub1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uIkUg/btsnn6ZauVO/W2zx072JQMFGCTkQyo4Ub1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uIkUg/btsnn6ZauVO/W2zx072JQMFGCTkQyo4Ub1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuIkUg%2Fbtsnn6ZauVO%2FW2zx072JQMFGCTkQyo4Ub1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;338&quot; height=&quot;203&quot; data-filename=&quot;화면 캡처 2023-07-13 125906.png&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Attention(Q, K, V) = Attention Value&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;주어진 Query 에 대해 모든 Key와의 유사도 구해&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;구한 유사도를 키와 매핑되어 있는 Value에 반영&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;유사도가 반영된 Value를 모두 더해 return =&amp;gt;&lt;u&gt; attention vlaue&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;Q&amp;nbsp;=&amp;nbsp;Query&amp;nbsp;:&amp;nbsp;t&amp;nbsp;시점의&amp;nbsp;디코더&amp;nbsp;셀에서의&amp;nbsp;은닉&amp;nbsp;상태 &lt;br /&gt;K&amp;nbsp;=&amp;nbsp;Keys&amp;nbsp;:&amp;nbsp;모든&amp;nbsp;시점의&amp;nbsp;인코더&amp;nbsp;셀의&amp;nbsp;은닉&amp;nbsp;상태들 &lt;br /&gt;V&amp;nbsp;=&amp;nbsp;Values&amp;nbsp;:&amp;nbsp;모든&amp;nbsp;시점의&amp;nbsp;인코더&amp;nbsp;셀의&amp;nbsp;은닉&amp;nbsp;상태들&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Dot-Product Attention&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 130215.png&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc1fjU/btsnrr8wWKM/jwdQOcEL5CiKO51qi4tud1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc1fjU/btsnrr8wWKM/jwdQOcEL5CiKO51qi4tud1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc1fjU/btsnrr8wWKM/jwdQOcEL5CiKO51qi4tud1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc1fjU%2Fbtsnrr8wWKM%2FjwdQOcEL5CiKO51qi4tud1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;372&quot; height=&quot;289&quot; data-filename=&quot;화면 캡처 2023-07-13 130215.png&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;디코더 3rd LSTM cell 에서 출력 단어 예측 시 attention 메커니즘 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 출력 단어를 예측하기 위해 인코더의 모든 입력 단어 정보를 다시 한번 참고한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 인코더의 softmax 함수 =&amp;gt; 입력 단어 각각이 출력 단어를 예측할 때 얼마나 도움이 되는지 정도 수치화&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 이를 하나의 정보로 담아서 디코더로 전송 =&amp;gt; 디코더가 출력 단어를 더 정확하게 예측할 확률이 높아진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Attention Score&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 130642.png&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HKHKn/btsnqwvwuNN/NZm7qXQ7jxzGm72hOUc721/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HKHKn/btsnqwvwuNN/NZm7qXQ7jxzGm72hOUc721/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HKHKn/btsnqwvwuNN/NZm7qXQ7jxzGm72hOUc721/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHKHKn%2FbtsnqwvwuNN%2FNZm7qXQ7jxzGm72hOUc721%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;467&quot; height=&quot;270&quot; data-filename=&quot;화면 캡처 2023-07-13 130642.png&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;시점 t에서 출력 단어 예측하기 위해 디코더는 t-1 시점의 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;hidden state와 t-1 의 출력 단어 필요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;=&amp;gt; Attention 메커니즘에서는 &lt;i&gt;&lt;b&gt;Attention Value&lt;/b&gt; &lt;/i&gt;값 추가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Attention Score&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 현재 디코더 시점 t에서 단어 예측하기 위해 인코더의 모든 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;hidden state 각각이 디코더 현 시점 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;hidden state: st와 얼마나 유사한지 판단한 스코어 값&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;- dot-product attention에서는 이 값을 구하기 위해 st를 transpose 하고 각 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;hidden state와 내적을 수행해&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 131458.png&quot; data-origin-width=&quot;179&quot; data-origin-height=&quot;43&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ErkVy/btsnoJJdhlM/XsKJLE59i0tVW94kchTQkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ErkVy/btsnoJJdhlM/XsKJLE59i0tVW94kchTQkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ErkVy/btsnoJJdhlM/XsKJLE59i0tVW94kchTQkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FErkVy%2FbtsnoJJdhlM%2FXsKJLE59i0tVW94kchTQkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;179&quot; height=&quot;43&quot; data-filename=&quot;화면 캡처 2023-07-13 131458.png&quot; data-origin-width=&quot;179&quot; data-origin-height=&quot;43&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 131512.png&quot; data-origin-width=&quot;182&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfUqMf/btsnukg6KXV/tfXntOLC90ZJIVSSnPgzF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfUqMf/btsnukg6KXV/tfXntOLC90ZJIVSSnPgzF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfUqMf/btsnukg6KXV/tfXntOLC90ZJIVSSnPgzF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfUqMf%2Fbtsnukg6KXV%2FtfXntOLC90ZJIVSSnPgzF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;182&quot; height=&quot;31&quot; data-filename=&quot;화면 캡처 2023-07-13 131512.png&quot; data-origin-width=&quot;182&quot; data-origin-height=&quot;31&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;softmax -&amp;gt; Attention Distribution&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;앞에서 구한 e^t에 softmax 적용하여 모든 값을 합하면 1이 되는 확률 분포를 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 131553.png&quot; data-origin-width=&quot;148&quot; data-origin-height=&quot;39&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyYbTX/btsnpFGwyX4/0VkDuvGXpiuwlS57YdxLw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyYbTX/btsnpFGwyX4/0VkDuvGXpiuwlS57YdxLw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyYbTX/btsnpFGwyX4/0VkDuvGXpiuwlS57YdxLw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyYbTX%2FbtsnpFGwyX4%2F0VkDuvGXpiuwlS57YdxLw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;148&quot; height=&quot;39&quot; data-filename=&quot;화면 캡처 2023-07-13 131553.png&quot; data-origin-width=&quot;148&quot; data-origin-height=&quot;39&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; attention distribution&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;=&amp;gt; 각각의 값은 attention weight&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Encoder attention weight와 hiddent state 를 가중합 =&amp;gt; &lt;u&gt;attention value&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 132857.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BkzDW/btsnrv4mpte/tKhj714KviiQtDXC77gc41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BkzDW/btsnrv4mpte/tKhj714KviiQtDXC77gc41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BkzDW/btsnrv4mpte/tKhj714KviiQtDXC77gc41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBkzDW%2Fbtsnrv4mpte%2FtKhj714KviiQtDXC77gc41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;452&quot; height=&quot;284&quot; data-filename=&quot;화면 캡처 2023-07-13 132857.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;387&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;준비한 정보 하나로 합치기!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 133024.png&quot; data-origin-width=&quot;125&quot; data-origin-height=&quot;71&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p8M83/btsnoFmPgaV/MnyvYmy0uKCGdr7h1KysBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p8M83/btsnoFmPgaV/MnyvYmy0uKCGdr7h1KysBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p8M83/btsnoFmPgaV/MnyvYmy0uKCGdr7h1KysBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp8M83%2FbtsnoFmPgaV%2FMnyvYmy0uKCGdr7h1KysBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;125&quot; height=&quot;71&quot; data-filename=&quot;화면 캡처 2023-07-13 133024.png&quot; data-origin-width=&quot;125&quot; data-origin-height=&quot;71&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;최종 결과 attention value (at)는 인코더의 문맥을 포함하고 있다 -&amp;gt; context vector&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;-&amp;gt; seq2seq 인코더의 마지막 hidden state를 context vector 라고 부르는 것과 대조&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 133205.png&quot; data-origin-width=&quot;685&quot; data-origin-height=&quot;346&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ubyT3/btsnukBwySH/eDmYot0SRT4PbXRRusPUn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ubyT3/btsnukBwySH/eDmYot0SRT4PbXRRusPUn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ubyT3/btsnukBwySH/eDmYot0SRT4PbXRRusPUn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FubyT3%2FbtsnukBwySH%2FeDmYot0SRT4PbXRRusPUn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;497&quot; height=&quot;251&quot; data-filename=&quot;화면 캡처 2023-07-13 133205.png&quot; data-origin-width=&quot;685&quot; data-origin-height=&quot;346&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;attention 값을 구하면 이를 st와 결합해 하나의 벡터로 만드는 작업 수행 = vt&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;vt를 y_hat 예측 연산의 입력으로 사용해 인코더로부터 얻은 정보 활용하여 더 잘 예측할 수 있도록 ==&amp;gt; attention 메커니즘의 핵심!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 133336.png&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyjwnc/btsnqvcuZrA/FK7PNd1jdZsfiaQWz7eHGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyjwnc/btsnqvcuZrA/FK7PNd1jdZsfiaQWz7eHGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyjwnc/btsnqvcuZrA/FK7PNd1jdZsfiaQWz7eHGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcyjwnc%2FbtsnqvcuZrA%2FFK7PNd1jdZsfiaQWz7eHGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;345&quot; height=&quot;163&quot; data-filename=&quot;화면 캡처 2023-07-13 133336.png&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;vt를 바로 출력층으로 내보내기 전에 신경망 연산 추가.. 가중치 행렬과 곱한 후 tahn 함수 =&amp;gt; 출력층 연산을 위한 st 얻어&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(seq2seq과 비교? 출력층 입력이 t 시점의 hiddent state인 st &amp;lt;-&amp;gt; attention에서는 출력층의 입력이 st)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2023-07-13 133536.png&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyvJTd/btsnpGr3s7E/i9GHuehjEjsyNZb1T1g7C0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyvJTd/btsnpGr3s7E/i9GHuehjEjsyNZb1T1g7C0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyvJTd/btsnpGr3s7E/i9GHuehjEjsyNZb1T1g7C0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyvJTd%2FbtsnpGr3s7E%2Fi9GHuehjEjsyNZb1T1g7C0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;235&quot; height=&quot;29&quot; data-filename=&quot;화면 캡처 2023-07-13 133536.png&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;++ More..&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;dot-product attention 과 다른 attention 의 차이 = 중간 수식(attention score 함수)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- dot (&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Luong et al. (2015))&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- scaled dot (&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Vaswani et al. (2017))&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- general (&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Luong et al. (2015))&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- concat (&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Bahdanau et al. (2015))&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- location - base (&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Luong et al. (2015))&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;+ 읽을수록 모르겠는데 ^ㅗ^&lt;/span&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;|_ &lt;a href=&quot;http://file:///C:/Users/hojeong/Downloads/sminton,+12839-Article+(PDF)-27850-1-11-20210812.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;set-to-sequence method in machine learning&lt;/a&gt; =&amp;gt; Pointer Network 확인&lt;/span&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  연구과제(2023.7 ~ )</category>
      <category>attention</category>
      <category>Prt-Net</category>
      <category>seq2seq</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/63</guid>
      <comments>https://paatata.tistory.com/63#entry63comment</comments>
      <pubDate>Thu, 13 Jul 2023 13:45:07 +0900</pubDate>
    </item>
    <item>
      <title>[Binary Protocol]</title>
      <link>https://paatata.tistory.com/62</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;u&gt;&lt;b&gt;Binary protocol&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;bit stream = 데이터 구조를 중심으로 다르게 구성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;숫자 2020은 단일 데이터 유형 (2 byte)로 표시 ( uint16 )&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- more compact, saves bandwidth, more performant&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;- 네트워크에서 데이터 교환 시 바이트 순서 (endianness) 고려&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- message carry only data, but without information what that data means. Semantic is implicit and stay in a program used to decode/encode. So it requires separate program to decode.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- binary protocols are typically proprietary, it's less likely to be an open standard like XML or JSON&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 이전 버전과의 호환성 유지 어려워&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- data structure consists of fixed and variable length fields, and always specifies length of the variable segments. It's &lt;b&gt;easy&lt;/b&gt; to detect END boundary between packets/messages.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;=&amp;gt; UDP 프로토콜과 같이 패킷 크기에 제한, 메시지 크기가 제한적일때 사용: 성능/대영폭 소비가 중요한 경우 사용한다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;u&gt;&lt;b&gt;Text protocol&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;bit stream = 일련의 문자 or text 문자열 (ex. 유니코드 or ASCII)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;두 컴퓨터는 문자 메시지 교환, 숫자 2020은 5개의 문자로 표현된다(5 byte)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- JSON, XML 을 준수하는 플랫폼 및 런타임 간의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: left;&quot;&gt;interoperability&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 더 큰 크기의 메시지 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- can be easily, inspected, read, debugged&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- self-explanatory, data is associated with names, that tell what that data means. Message captures semantics.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- can be extended in a backward-compatible way&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- can be parsed and decoded by any 3rd party software. Does not need some proprietary program to decode.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- when multiple messages are sent, it's&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;hard&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to detect the boundary between individual messages. Usually some sort of text delimiters are used (=====, newlines, etc).&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Project&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;ADS1299-DK protocol&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;SOP(4bytes) + SequenceNo.(4bytes) + EMGdata_Ch(4bytes) * 2 channel  : 16 bytes&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;_EMG_Packet_Data_type = np.dtype([
                    ('SequenceNo', 'u4'),           # 32-bit unsigned integer
                    ('EMGdata_Ch0', 'i4'),          # 32-bit signed integer
                    ('EMGdata_Ch1', 'i4')])         # 16-bit unsigned integer&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;checksum_verify&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 패킷을 받았을 때 checksum_index&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- index에 해당하는 checksum 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- cal_checksum = -sum(packet[: checksum_index]) &amp;amp; 0xff&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;checksum 값과 계산한 checksum 값이 일치한다면 True&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;find_SOP&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;pSOP_code = [0xFF, 0xFF, 0xFF, 0xFF]
check_code = [0x00, 0x00, 0x00, 0x00]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;serial_obj 받아 SOP_code와 check_code가 동일하지 않은 경우:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;left shif 수행(np.roll)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;read_data = serial_obj.read(1)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;check_code[3] = read_data[0]&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;list_port_info&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;USB 디바이스 리스트와 정보들을 찾아 반환&lt;/p&gt;
&lt;pre style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot;&gt;&lt;code&gt;try:
    from serial.tools.list_ports import comports
except ImportError:
    return None&lt;/code&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;if comports:
    com_ports = list(comports())
    port_info = []
    for port in com_ports:
        port_info.append(port[0]) # port name
        port_info.append(port[1]) # Identifier
        port_info.append(port[2]) # VID/PID
    if port_info:
       return port_info&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #2b2b2b; color: #a9b7c6;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;serial_reading_Thread&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;global objSerial 에 대해 stop_thread_flag 가 아닌 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;정의한 ADS1299 프로토콜 (16byte) 에 의해 .read(16)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;unpack_data = struct.unpack(&quot;&amp;lt; I 2i&quot;, read_data[0:12])&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;( read_data[12:16] == b'\xff\xff\xff\xff'인 경우 SOP )&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;read_data를 가지고 원하는 데이터 처리&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-- 해당 프로젝트의 경우, 읽은 데이터를 녹화해 .bin 파일과 .csv 파일로 저장한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-- 디지털 필터링을 위한 array 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;==== thread: lock.acquire()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;original_signal = np.roll( -1)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;filtering_signal&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;vEMG&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;==== thread: lock.release()&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/62</guid>
      <comments>https://paatata.tistory.com/62#entry62comment</comments>
      <pubDate>Thu, 13 Jul 2023 10:13:14 +0900</pubDate>
    </item>
    <item>
      <title>[C/C++] Dynamic-link Libraries (in Windows)</title>
      <link>https://paatata.tistory.com/61</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;Modularize program &amp;gt; seperate components &amp;gt; ease deployment &amp;amp; installation&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://medium.com/ai-innovation/how-to-create-c-c-dynamic-link-libraries-in-windows-28abefc988c9&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://medium.com/ai-innovation/how-to-create-c-c-dynamic-link-libraries-in-windows-28abefc988c9&lt;/a&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. Setup&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;윈도우에서 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Shared libraries는&lt;/span&gt; dynamic-link libraries (.dll) 이라고 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다른 플랫폼에서 shared object 는 .so 확장자를 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. Implementation&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;root&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;|_ include&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;|_ obj&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;|_ src&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- include: 헤더 파일 저장, 컴파일된 공유 라이브러리와 상호작용 하는 방법에 대한 참조&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- obj: 컴파일 중 생성된 임시 obj 파일 저장. (안전하게 삭제 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- src: 함수 필수 코드 저장, 배포하는 동안 패키지에서 이러한 파일 제외&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Header&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;include&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;u&gt;|_add.h&lt;/u&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689140821803&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#ifndef _ADD_H
#define _ADD_H
extern &quot;C&quot;
{
    __declspec(dllexport) int add(int, int);
    __declspec(dllexport) int sub(int, int);
    __declspec(dllexport) int mul(int, int);
}
#endif&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Implementation code&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;src&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;|_add.cpp&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689140871220&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &quot;add.h&quot;
extern &quot;C&quot;
{
    __declspec(dllexport) int add(int a, int b) 
    {
        return a + b;
    }
    __declspec(dllexport) int sub(int a, int b)
    {
        return a - b;
    }
    __declspec(dllexport) int mul(int a, int b)
    {
        return a * b;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Main&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;include&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;obj&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;src&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;main.cpp&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689140928404&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &quot;add.h&quot;
int main() {
    std::cout &amp;lt;&amp;lt; add(2, 2) &amp;lt;&amp;lt; &quot; | &quot; &amp;lt;&amp;lt; sub(3, 1) &amp;lt;&amp;lt; &quot; | &quot; &amp;lt;&amp;lt; mul(3, 3) &amp;lt;&amp;lt; std::endl;
    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Object Files&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689140966016&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cl /EHsc /c .\src\*.cpp /I .\include /Fo&quot;.\obj\\&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;/c: 소스 파일 위치&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;/I: 헤더 파일 위치&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;/Fo: 컴파일 중 생성될 임시 obj 파일 위치&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Dynamic-link libraries&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689141502567&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;link /DLL /OUT:add.dll .\obj\*.obj&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;include&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;obj&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;src&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;add.dll&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;add.exp&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;add.lib&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;main.cpp&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.dll - shared library for program&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.exp - export library program&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.lib - static libarary&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;168b&quot; style=&quot;background-color: #ffffff; color: #292929; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Executable file&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;마지막 실행 파일 만들기!&lt;/p&gt;
&lt;pre id=&quot;code_1689141642348&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cl /EHsc main.cpp /Fetest.exe /I .\include /link *.lib&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;include&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;obj&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;src&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.dll&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.exp&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;add.lib&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;main.cpp&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;main.obj&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;b&gt;test.exe&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>C/C++</category>
      <category>DLL</category>
      <category>windows</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/61</guid>
      <comments>https://paatata.tistory.com/61#entry61comment</comments>
      <pubDate>Wed, 12 Jul 2023 15:31:37 +0900</pubDate>
    </item>
    <item>
      <title>[Python] C 함수 호출을 위한 Wrapper 만들기</title>
      <link>https://paatata.tistory.com/59</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;'.so' file은 유닉스 계열 운영체제에서 사용되는 공유 라이브러리 파일이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;C/C++로 작성된 소스코드를 컴파일하여 생성한다.&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;C 소스코드 작성&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689059952551&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 'mylib.c'
int add (int a, int b) {
	return a + b;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;적절한 기능을 가진 C 소스 코드를 작성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;컴파일 명령 실행&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689060099007&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gcc -shared -o mylib.so -fPIC mylib.c&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-shared: 공유 라이브러리를 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-o: 출력 파일의 이름 지정&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;-fPIC: 위치 독립 코드(Position Independent Code) 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;.so 파일 생성 확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;현재 디렉토리에 'myjlib.so' 파일이 생성되었는지 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;'.so' 파일은 C/C++로 작성된 기능을 Python 등 다른 프로그래밍 언어에서 사용할 수 있는 형태로 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Python Wrapper&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689060515152&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import ctypes

# ```
# ctypes 모듈 사용해 c함수 호출하는 wrapper
# ```

path = './mylib.so'

# add 함수 signiture 정의
lib = ctypes.CDLL(path) # CDLL: C 라이브러리 로드
lib.add.argtypes = (ctypes.c_int, ctypes.c_int) # argypes: c 함수의 인자 타입 정의
lib.add.restype = ctypes.c_int  # restype: c 함수의 반환 타입 정의

# C 함수 호출
result = lib.add(2, 3)  # c 함수 반환 후 결과 출력
print(result)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;+ Windows&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. Set up&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;add.dll&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;add_wrapper.py&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. Implementation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Import&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689143667759&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from ctypes import *
from sys import platform&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Load library&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1689143705962&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;shared_lib_path = &quot;./add.so&quot;
if platform.startswith('win32'):
    shared_lib_path = &quot;./add.dll&quot;
try:
    add_lib = CDLL(shared_lib_path)
    print(&quot;Successfully loaded &quot;, add_lib)
except Exception as e:
    print(e)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;더 알아보기..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- &lt;a href=&quot;https://github.com/pybind/pybind11&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pybind 11&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>Python</category>
      <category>wrapper</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/59</guid>
      <comments>https://paatata.tistory.com/59#entry59comment</comments>
      <pubDate>Tue, 11 Jul 2023 16:29:27 +0900</pubDate>
    </item>
    <item>
      <title>[Python] Flask 기초</title>
      <link>https://paatata.tistory.com/58</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://flask.palletsprojects.com/en/2.3.x/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flask&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;웹 어플리케이션 개발을 위한 파이썬 프레임워크, 최대한 가볍게 개발하기 위해 Flask 사용^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(파이썬 웹 개발 시 많이 쓰이는 프레임워크: &lt;a href=&quot;https://www.djangoproject.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Django&lt;/a&gt;)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Micro Web Framework: Flask&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 최소한의 구성 요소, 요구사항 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 쉽고 필요에 따라 유연하게 사용 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- 쉽게 확장할 수 있도록 설계되어 있어 필요한 도구와 라이브러리 자유럽게 선택 적용 가능&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Start Flask: Hello, World!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689040748943&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install Flask&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1689040762321&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;run(debug=True) 명시하면 해당 파일의 코드를 수정할 때마다 Flask가 변경된 것 인식 -&amp;gt; 다시 시작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Route (URL ~ 웹페이지 연결)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;웹 브라우저에서 url 방문하면 서버에 요청을 보내고, 서버는 그 요청을 처리해 브라우저에서 응답을 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;반환된 결과를 html 문서로 보내주면 웹 페이지를 브라우저가 띄워준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;라우팅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;:Flask에서 url 방문시 준비된 함수가 트리거되도록 바인딩하기 위해 route() 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;@app.route('/path') 반드시 '/' 로 시작해야 한다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;동적&amp;nbsp; URL&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Flask는 바인딩 할 url을 지정할 때 &amp;lt;variable_name&amp;gt;을 명시하는 것이 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;해당 변수는 함수에 인수 형태로 전달된다.&lt;/p&gt;
&lt;pre id=&quot;code_1689043913300&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from flask import Flask

app = Flask(__name__)

@app.route('/')
@app.route('/home')
def home():
    return 'Hello, World!'

@app.route('/user/&amp;lt;user_name&amp;gt;/&amp;lt;int:user_id&amp;gt;')
def user(user_name, user_id):
    return f'Hello, {user_name}({user_id})!'

if __name__ == '__main__':
    app.run(debug=True)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;html 렌더링&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;@app.route() 아래 적어주는 함수에서 return 하는 응답은 일반 텍스트, 데이터, 등등 다양한 형식이 될 수 있는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;일반적으로 웹 페이지에서 렌더링 할 html 직접 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689044151245&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from flask import Flask

app = Flask(__name__)

@app.route('/')
@app.route('/home')
def home():
    return 
    '''
    &amp;lt;h1&amp;gt; Title &amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt; content &amp;lt;/p&amp;gt;
    &amp;lt;a href=&quot;https://flask.palletsprojects.com&quot;&amp;gt;Flask hompage&amp;lt;/a&amp;gt;
    '''

@app.route('/user/&amp;lt;user_name&amp;gt;/&amp;lt;int:user_id&amp;gt;')
def user(user_name, user_id):
    return f'Hello, {user_name}({user_id})!'

if __name__ == '__main__':
    app.run(debug=True)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;POSTMAN 사용한 로컬 API 테스트&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.postman.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.postman.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category> &amp;zwj;  도비는 공부중/  하계연구연수생(2023)</category>
      <category>flask</category>
      <category>Python</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/58</guid>
      <comments>https://paatata.tistory.com/58#entry58comment</comments>
      <pubDate>Tue, 11 Jul 2023 11:58:51 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] 맥북 터미널 꾸미기 | iTerm | 커스텀</title>
      <link>https://paatata.tistory.com/53</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;컴공에 들어간 동생 도와주다가 정리하게 된 맥북 터미널 커스텀&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;❏ &lt;/b&gt;Mac Terminal &amp;nbsp;| &amp;nbsp;iTerm&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zq1jb/btr36QTF6dW/B9ZjzN40lG7bUn4T0klPuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zq1jb/btr36QTF6dW/B9ZjzN40lG7bUn4T0klPuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zq1jb/btr36QTF6dW/B9ZjzN40lG7bUn4T0klPuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzq1jb%2Fbtr36QTF6dW%2FB9ZjzN40lG7bUn4T0klPuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;320&quot; height=&quot;148&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;아무것도 모르고 컴공에 들어온 나와 1학년때부터 쭉 함께하는 사과들  &lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;할 수 있는 모든 커스텀을 해본다는 마음으로 깔짝거리던 시절&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;누구든 검색하게 되는 터미널 꾸미기: iTerm&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;❍ &lt;b&gt;Setting&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;공식 홈페이지에서 다운 받거나 brew 명령어로 설치하기&lt;/p&gt;
&lt;pre id=&quot;code_1688282827782&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install iterm2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Oh-my-zhs 설치&lt;/p&gt;
&lt;pre id=&quot;code_1688282899450&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sh -c &quot;$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;기본 shell이 bash ⇢ zsh로 변경된다. 여기에 플러그인을 설치해서 다양한 기능 사용하기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;❍&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt; Customizing&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬ 테마 변경&lt;/b&gt; &lt;span style=&quot;font-size: 0.87em; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;(&lt;/span&gt;&lt;a style=&quot;font-size: 0.87em; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot; href=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/Themes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;테마 목록)&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;보통 agonster라는 테마를 자주 사용하던데 취향대로 선택하기..&lt;/p&gt;
&lt;pre id=&quot;code_1688283173159&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;open ~/.zshrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.zshrc 파일을 열어 ZSH_THEME 부분을 &quot;agnoster&quot;로 변경해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬ 폰트 변경&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;테마를 바꾸면 폰트가 깨지는 문제가 발생하는데, 깨지지 않는 폰트로 바꿔줘야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이것도 보통 D2 Coding 폰트를 주로 사용한다. (☞ &lt;a href=&quot;https://github.com/naver/d2codingfont&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;글꼴 다운로드&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.tff 파일 받아서 설치!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;iTerm2 &amp;gt; Preference &amp;gt; Profiles &amp;gt; Text &amp;gt; Font&lt;/span&gt; 를 D2Coding으로 변경한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.41.27.png&quot; data-origin-width=&quot;1880&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWoldd/btsl0iNBFAn/kv5Bg2SA0b7Lfwts58fNo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWoldd/btsl0iNBFAn/kv5Bg2SA0b7Lfwts58fNo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWoldd/btsl0iNBFAn/kv5Bg2SA0b7Lfwts58fNo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWoldd%2Fbtsl0iNBFAn%2Fkv5Bg2SA0b7Lfwts58fNo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;321&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.41.27.png&quot; data-origin-width=&quot;1880&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(원래 터미널도 폰트가 깨지니까 동일하게 변경해줘야 한다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬ 컬러 변경&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;설정에서 프리셋으로 변경할 수 도 있고 테마를 다운받아서 사용할 수도 있다. (☞ &lt;a href=&quot;https://iterm2colorschemes.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;color shemes&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;iTerm2 &amp;gt; Preference &amp;gt; Profiles &amp;gt; Colors &amp;gt; Color Presets &amp;gt; import&lt;/span&gt; 원하는 테마 클릭해서 변경하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.50.12.png&quot; data-origin-width=&quot;1858&quot; data-origin-height=&quot;962&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3aFVu/btsl2R2hhuE/MmJRNNVmMFCkqkemxkUjnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3aFVu/btsl2R2hhuE/MmJRNNVmMFCkqkemxkUjnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3aFVu/btsl2R2hhuE/MmJRNNVmMFCkqkemxkUjnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3aFVu%2Fbtsl2R2hhuE%2FMmJRNNVmMFCkqkemxkUjnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;644&quot; height=&quot;333&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.50.12.png&quot; data-origin-width=&quot;1858&quot; data-origin-height=&quot;962&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬ 상태바 설정&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;상태바 추가: &lt;span style=&quot;background-color: #eeeeee; color: #454545; text-align: left;&quot;&gt;iTerm2 &amp;gt; Preferences &amp;gt; Profiles &amp;gt; Session &amp;gt; Status bar enabled&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Configure State Bar 버튼을 클릭해 상태바에 원하는 메뉴를 추가한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.53.24.png&quot; data-origin-width=&quot;1858&quot; data-origin-height=&quot;1050&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/op3ye/btsl6Me3HDA/mHkIqUXnQf1kgR5hkt9mKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/op3ye/btsl6Me3HDA/mHkIqUXnQf1kgR5hkt9mKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/op3ye/btsl6Me3HDA/mHkIqUXnQf1kgR5hkt9mKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fop3ye%2Fbtsl6Me3HDA%2FmHkIqUXnQf1kgR5hkt9mKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;350&quot; data-filename=&quot;스크린샷 2023-07-02 오후 4.53.24.png&quot; data-origin-width=&quot;1858&quot; data-origin-height=&quot;1050&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;상태바의 위치는 &lt;span style=&quot;background-color: #eeeeee; color: #454545; text-align: left;&quot;&gt;Preferences &amp;gt; Appearance &amp;gt; Status bar location &amp;gt; Bottom&lt;/span&gt;&amp;nbsp;에서 변경 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&lt;b&gt;❍&lt;/b&gt; 플러그인 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;iTerm의 장점 ➭ 다양한 플러그인을 사용할 수 있는 것!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬&lt;span&gt;&amp;nbsp;자동완성 기능&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688284610343&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;git clone으로 플러그인을 클론하고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #454545; text-align: start;&quot;&gt;open ~/.zshrc에 플러그인 경로를 추가해준다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688284777024&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;plugins=( 
    # other plugins...
    zsh-autosuggestions
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;⚬&lt;span&gt; Syntax Highlighter&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;동일한 방법으로 플러그인 추가하기!&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688284865590&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1688284915645&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;plugins=( 
    # other plugins...
    zsh-syntax-highlighting
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;b&gt;Neofetch (☞ &lt;a href=&quot;https://github.com/dylanaraps/neofetch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github link&lt;/a&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;&lt;span&gt;iTerm2 부팅 시 사용자의 정보가 뜨도록 하는 플러그인!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1688285653104&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install neofetch&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;설치 후 &lt;span style=&quot;background-color: #ffffff; color: #454545; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;open ~/.zshrc&lt;/span&gt; 의 맨 아래에 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;neofetch&lt;/span&gt; 추가해주기&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 빵굽는 중/  귀여운게 제일 좋아</category>
      <category>iTerm</category>
      <category>m1</category>
      <category>Mac</category>
      <category>터미널</category>
      <category>플러그인</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/53</guid>
      <comments>https://paatata.tistory.com/53#entry53comment</comments>
      <pubDate>Sun, 2 Jul 2023 17:16:47 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] 업데이트 이후 command error 해결</title>
      <link>https://paatata.tistory.com/52</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;macOS 업그레이드 할 때마다 매번 하나씩 고장&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;개발 관련 도구 사용시 발생하는 missing xcrun error&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;조금 화나요^.^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2023-05-15 오후 5.03.04.png&quot; data-origin-width=&quot;1730&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cN96L3/btsf4geYryJ/YDl2YyKFbOQXRJjsKgUX91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cN96L3/btsf4geYryJ/YDl2YyKFbOQXRJjsKgUX91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cN96L3/btsf4geYryJ/YDl2YyKFbOQXRJjsKgUX91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcN96L3%2Fbtsf4geYryJ%2FYDl2YyKFbOQXRJjsKgUX91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1730&quot; height=&quot;96&quot; data-filename=&quot;edited_스크린샷 2023-05-15 오후 5.03.04.png&quot; data-origin-width=&quot;1730&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;도구들의 문제가 아니라 CommandLineTools를 식별하지 못해서 발생하는 문제로&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;xcode-select 명령어로 commandLineTools 설치하면 문제 해결 가능하다고 한다.. 휴!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1684138061619&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;xcode-select --install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;업데이트 이후 실행해보면 정상적으로 작동한다 :)&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  삽질 일기</category>
      <category>m1</category>
      <category>Mac</category>
      <category>Xcode</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/52</guid>
      <comments>https://paatata.tistory.com/52#entry52comment</comments>
      <pubDate>Fri, 30 Jun 2023 14:45:54 +0900</pubDate>
    </item>
    <item>
      <title>[Tistory] 첫 화면 특정 페이지로 설정하기</title>
      <link>https://paatata.tistory.com/51</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-30 오후 2.04.20.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;644&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o0Gll/btslZG6SD5F/zFvVm2bw8CFClpF6K5HDkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o0Gll/btslZG6SD5F/zFvVm2bw8CFClpF6K5HDkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o0Gll/btslZG6SD5F/zFvVm2bw8CFClpF6K5HDkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo0Gll%2FbtslZG6SD5F%2FzFvVm2bw8CFClpF6K5HDkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;590&quot; height=&quot;277&quot; data-filename=&quot;스크린샷 2023-06-30 오후 2.04.20.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;644&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;첫 화면에 전체 글이 뜨는데 사진이 없으면 너무 초라해보인다ㅠ ㅠ&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;메인 페이지를 사진 가득한 카테고리 글로 바꿔버리고 싶어서 방법 찾기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;❏ &amp;nbsp;HTML 편집&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. 티스토리 관리자 페이지: 꾸미기 &lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;➔&lt;/span&gt;&amp;nbsp;스킨 편집&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. html 편집&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. html 소스 상단에서 &amp;lt;head&amp;gt; &amp;lt;/head&amp;gt; 부분을 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1685683723671&quot; class=&quot;xml&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
	if ( window.location.pathname == '/' ) 
    {     
    	location.href = '첫 페이지로 고정하고 싶은 url';
    }
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;블로그 주소로 이동하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;원래 전체 글이 뜨던 메인 페이지에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;내가 설정한 주소로 이동하게된다 ^.^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-02 오후 2.30.19.png&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;832&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxjhEv/btsiqhcNZrp/GiBAilysc3wCKAkaKb5h2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxjhEv/btsiqhcNZrp/GiBAilysc3wCKAkaKb5h2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxjhEv/btsiqhcNZrp/GiBAilysc3wCKAkaKb5h2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxjhEv%2FbtsiqhcNZrp%2FGiBAilysc3wCKAkaKb5h2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;265&quot; data-filename=&quot;스크린샷 2023-06-02 오후 2.30.19.png&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;832&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;⬇&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-02 오후 2.31.09.png&quot; data-origin-width=&quot;1694&quot; data-origin-height=&quot;820&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P5Jog/btsisN9kOR8/Ybn2gOQ7UCt3gNSfYjR6aK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P5Jog/btsisN9kOR8/Ybn2gOQ7UCt3gNSfYjR6aK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P5Jog/btsisN9kOR8/Ybn2gOQ7UCt3gNSfYjR6aK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP5Jog%2FbtsisN9kOR8%2FYbn2gOQ7UCt3gNSfYjR6aK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;259&quot; data-filename=&quot;스크린샷 2023-06-02 오후 2.31.09.png&quot; data-origin-width=&quot;1694&quot; data-origin-height=&quot;820&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이렇게 바꿔놨는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;다시 보니까 안예뻐서 새로운 방법 찾는 중..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;주소가 굉장히 더러워진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;어떻게 해야 귀엽게 꾸밀 수 있을까  &lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 빵굽는 중/  귀여운게 제일 좋아</category>
      <category>tistory</category>
      <category>첫화면</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/51</guid>
      <comments>https://paatata.tistory.com/51#entry51comment</comments>
      <pubDate>Fri, 30 Jun 2023 14:10:51 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] Keka | Mac 압축 파일 해결</title>
      <link>https://paatata.tistory.com/50</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.23.01.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/moOJ7/btslwqdur8m/ld12d08fNzflqytJ9xARI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/moOJ7/btslwqdur8m/ld12d08fNzflqytJ9xARI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/moOJ7/btslwqdur8m/ld12d08fNzflqytJ9xARI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmoOJ7%2Fbtslwqdur8m%2Fld12d08fNzflqytJ9xARI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;539&quot; height=&quot;86&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.23.01.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;mac에서 파일을 압축하면 윈도우에서 열었을 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;비어있는 폴더가 되는 경우가 있다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Keka로 압축하면 mac &lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;➔&lt;/span&gt;&amp;nbsp;윈도우 압축 문제 해결  &lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.27.20.png&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYPOuz/btslxKQmh5x/IBcusokv8QHIBYZb7H0Jyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYPOuz/btslxKQmh5x/IBcusokv8QHIBYZb7H0Jyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYPOuz/btslxKQmh5x/IBcusokv8QHIBYZb7H0Jyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYPOuz%2FbtslxKQmh5x%2FIBcusokv8QHIBYZb7H0Jyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;242&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.27.20.png&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;App Store에서 다운받으면 6천원 정도의 유료 앱이지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;홈페이지로 들어가면 무료로 다운 받을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.keka.io/ko/&quot;&gt;https://www.keka.io/ko/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1687847258411&quot; style=&quot;color: #333333; text-align: start;&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Keka - macOS 압축 프로그램&quot; data-og-description=&quot;압축파일의 용량이 너무 커서 공유할 수 없나요? 만약 파일 크기가 너무 커서 이메일 첨부 또는 서버 업로드가 불가능하다면, 분할 압축을 해보세요. 압축 해제 시 다시 원본 파일로 복구할 수 &quot; data-og-host=&quot;www.keka.io&quot; data-og-source-url=&quot;https://www.keka.io/ko/&quot; data-og-url=&quot;https://www.keka.io/ko/&quot; data-og-image=&quot;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.keka.io/ko/&quot; data-source-url=&quot;https://www.keka.io/ko/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('&amp;quot;&amp;quot;');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;Keka - macOS 압축 프로그램&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;압축파일의 용량이 너무 커서 공유할 수 없나요? 만약 파일 크기가 너무 커서 이메일 첨부 또는 서버 업로드가 불가능하다면, 분할 압축을 해보세요. 압축 해제 시 다시 원본 파일로 복구할 수&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;www.keka.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.28.39.png&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cv6wPP/btsluVStTlY/aoxakVR0KGAllXnJxw4kk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cv6wPP/btsluVStTlY/aoxakVR0KGAllXnJxw4kk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cv6wPP/btsluVStTlY/aoxakVR0KGAllXnJxw4kk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcv6wPP%2FbtsluVStTlY%2FaoxakVR0KGAllXnJxw4kk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;723&quot; height=&quot;243&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.28.39.png&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;668&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;기본 압축앱으로 설정해두고 사용하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;비어있는 압축 파일 걱정할 필요 없음 ^.^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;m1에서 뭐때문인지 kekadefaultapp은 사용할 수 없더라..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.30.04.png&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgNmrV/btslCwQ4iAj/LLp9EdBLjn7KAPXdgrbQF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgNmrV/btslCwQ4iAj/LLp9EdBLjn7KAPXdgrbQF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgNmrV/btslCwQ4iAj/LLp9EdBLjn7KAPXdgrbQF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgNmrV%2FbtslCwQ4iAj%2FLLp9EdBLjn7KAPXdgrbQF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;542&quot; height=&quot;251&quot; data-filename=&quot;스크린샷 2023-06-27 오후 3.30.04.png&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;귀찮지만 매번 이런식으로 압축해야지 뭐 ㅠ ㅠ&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>keka</category>
      <category>Mac</category>
      <category>압축파일</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/50</guid>
      <comments>https://paatata.tistory.com/50#entry50comment</comments>
      <pubDate>Fri, 30 Jun 2023 13:53:29 +0900</pubDate>
    </item>
    <item>
      <title>[Raspberry Pi] 모니터 연결 | WiFi 설정 | SSH | VSCode</title>
      <link>https://paatata.tistory.com/49</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;뭘 하려고 했던걸까..?&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;❏ Raspberry Pi 4 _ 모니터 연결 해결법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;라즈베리 파이랑 모니터랑 hdmi 연결해줬는데 화면이 표시되지 않는 경우가 가끔 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;공소실 수업때도 이거때매 한참 헤맸던 기억이 있는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&amp;gt; 파워 연결하고 옆에 케이블? 한번 뽑았다가 다시 연결해주기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;녹색 불이 들어오면서 화면이 켜지는 걸 확인할 수 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;❏ Raspberry Pi 4 _ WiFi 설정, SSH 접속&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;이미 SD 카드에 Raspberry OS가 설치된 상황&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;&amp;gt; boot drive에 SSH, wpa_supplicant.conf 파일 만들기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;SSH를 허용하기 위해 일단 SD카드(boot drive)에 이름이 SSH인 빈 파일을 만들어준다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bUmyTL/btslV1pF3lc/8BTEhEtkKeydXtCooo8wg1/SSH.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;SSH.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;연결할 Access Point (공유기/핫스팟)에 대한 정보를 wpa_supplicant.conf 담아준다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;(라즈베리 파이 3부터는 'country'를 적어줘야 한다)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cuQtWq/btslNmo6QGj/rtj1vVXV5lekxgucffH8m0/wpa_supplicant.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;wpa_supplicant.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;이제 ssh 로 접속해주면 모니터 없이 사용 가능!&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;❏ Visual Studio Code + Raspberry Pi 4 _ Remote SSH&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;VNC Viwer로 접속하려는데 자꾸 에러..&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.realvnc.com/en/connect/download/viewer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.realvnc.com/en/connect/download/viewer/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1688090688565&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Download VNC Viewer | VNC&amp;reg; Connect&quot; data-og-description=&quot;Control VNC&amp;reg; enabled computers with VNC&amp;reg; Viewer.&quot; data-og-host=&quot;www.realvnc.com&quot; data-og-source-url=&quot;https://www.realvnc.com/en/connect/download/viewer/&quot; data-og-url=&quot;https://www.realvnc.com/en/connect/download/viewer/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/j3o8D/hyS9HGyP72/Wk4s2gFQ65h08g0EKwA3yK/img.png?width=31&amp;amp;height=31&amp;amp;face=0_0_31_31&quot;&gt;&lt;a href=&quot;https://www.realvnc.com/en/connect/download/viewer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.realvnc.com/en/connect/download/viewer/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/j3o8D/hyS9HGyP72/Wk4s2gFQ65h08g0EKwA3yK/img.png?width=31&amp;amp;height=31&amp;amp;face=0_0_31_31');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download VNC Viewer | VNC&amp;reg; Connect&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Control VNC&amp;reg; enabled computers with VNC&amp;reg; Viewer.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.realvnc.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;gt; VSCode에서 시도해보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. Extension: Remote - SSH를 설치&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-30 오전 11.14.51.png&quot; data-origin-width=&quot;2388&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FCI8R/btslR575Tcl/zIuCXQAJ8IKng0F3S3x7x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FCI8R/btslR575Tcl/zIuCXQAJ8IKng0F3S3x7x1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FCI8R/btslR575Tcl/zIuCXQAJ8IKng0F3S3x7x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFCI8R%2FbtslR575Tcl%2FzIuCXQAJ8IKng0F3S3x7x1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2388&quot; height=&quot;686&quot; data-filename=&quot;스크린샷 2023-06-30 오전 11.14.51.png&quot; data-origin-width=&quot;2388&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. Command Pallete (cmd + shift + p) &amp;gt; Open SSH Configuration File&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-30 오전 11.16.14.png&quot; data-origin-width=&quot;2294&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctfwJS/btslQngZTEz/5b2JWb34C6kF0roeVNhijk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctfwJS/btslQngZTEz/5b2JWb34C6kF0roeVNhijk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctfwJS/btslQngZTEz/5b2JWb34C6kF0roeVNhijk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctfwJS%2FbtslQngZTEz%2F5b2JWb34C6kF0roeVNhijk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2294&quot; height=&quot;194&quot; data-filename=&quot;스크린샷 2023-06-30 오전 11.16.14.png&quot; data-origin-width=&quot;2294&quot; data-origin-height=&quot;194&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1688091444396&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Host 'name'
    HostName 'addr'
    User pi&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_IMG_BA85808273BE-1.jpeg&quot; data-origin-width=&quot;971&quot; data-origin-height=&quot;971&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csHw80/btslSlbCaQK/hT7EWKX2en9zgMKn6Fnsgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csHw80/btslSlbCaQK/hT7EWKX2en9zgMKn6Fnsgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csHw80/btslSlbCaQK/hT7EWKX2en9zgMKn6Fnsgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsHw80%2FbtslSlbCaQK%2FhT7EWKX2en9zgMKn6Fnsgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;453&quot; height=&quot;453&quot; data-filename=&quot;edited_IMG_BA85808273BE-1.jpeg&quot; data-origin-width=&quot;971&quot; data-origin-height=&quot;971&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Hostname에 들어갈 주소는 inet 을 사용해서 알아냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3. Command Pallete (cmd + shift + p) &amp;gt; Connect to Host&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;새로운 VSCode Window 열리면서 ssh 접속 완료!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>Raspberry Pi 4</category>
      <category>SSH</category>
      <category>VSCode</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/49</guid>
      <comments>https://paatata.tistory.com/49#entry49comment</comments>
      <pubDate>Fri, 30 Jun 2023 13:51:20 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] M1 | UTM | Ubuntu 20.04 | Wired Settings | VSCode</title>
      <link>https://paatata.tistory.com/48</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;뭘하려고 했던건지..?&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;ubuntu에서 vscode 설치하기&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo snap install --classic code&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;arm64에서는 사용할 수 없다고 한다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;snap으로 설치하면 한글 입력이 제대로 안된다고 하는 것도 있다니 참고!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그냥 홈페이지에서 다운받으면 안되나 싶었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;인터넷 이슈..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.01.49.png&quot; data-origin-width=&quot;1908&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPwGFh/btslt2bZL0O/JoPlwRcNyEVDkY04q0QzXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPwGFh/btslt2bZL0O/JoPlwRcNyEVDkY04q0QzXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPwGFh/btslt2bZL0O/JoPlwRcNyEVDkY04q0QzXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPwGFh%2Fbtslt2bZL0O%2FJoPlwRcNyEVDkY04q0QzXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;270&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.01.49.png&quot; data-origin-width=&quot;1908&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Wired Unmanaged &amp;gt; Wired Setting&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;여기서 간단하게 추가해서 사용할 수 있던데&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;왜 VPN 밖에 안보이지..&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.04.22.png&quot; data-origin-width=&quot;1640&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfXlz4/btslpWwuYLX/hrjSB2KcO1jE24kScbkd21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfXlz4/btslpWwuYLX/hrjSB2KcO1jE24kScbkd21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfXlz4/btslpWwuYLX/hrjSB2KcO1jE24kScbkd21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfXlz4%2FbtslpWwuYLX%2FhrjSB2KcO1jE24kScbkd21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1640&quot; height=&quot;266&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.04.22.png&quot; data-origin-width=&quot;1640&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;새로 설치한 환경이라 기억이 가물가물&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;일단 net-tools를 설치하고 sudo apt update 한번 해주기&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.06.13.png&quot; data-origin-width=&quot;2040&quot; data-origin-height=&quot;1482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGISY6/btsltX2FZFO/jJ6XBAK3jloki0suFFc840/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGISY6/btsltX2FZFO/jJ6XBAK3jloki0suFFc840/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGISY6/btsltX2FZFO/jJ6XBAK3jloki0suFFc840/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGISY6%2FbtsltX2FZFO%2FjJ6XBAK3jloki0suFFc840%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;733&quot; height=&quot;533&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.06.13.png&quot; data-origin-width=&quot;2040&quot; data-origin-height=&quot;1482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;엥..? 연결 된다? 왜?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.deb의 arm64 환경을 다운로드 받아서 apt install 명령어로 설치해준다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo apt install &lt;b&gt;/path&lt;/b&gt;/Downloads/&lt;b&gt;code_1.79.2-1686733230_arm64.deb&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;code&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.22.35.png&quot; data-origin-width=&quot;2044&quot; data-origin-height=&quot;1528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/07yUY/btslqhU87ig/gg5pxSW2jYmASWkTK5PNp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/07yUY/btslqhU87ig/gg5pxSW2jYmASWkTK5PNp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/07yUY/btslqhU87ig/gg5pxSW2jYmASWkTK5PNp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F07yUY%2FbtslqhU87ig%2Fgg5pxSW2jYmASWkTK5PNp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;657&quot; height=&quot;491&quot; data-filename=&quot;스크린샷 2023-06-26 오후 4.22.35.png&quot; data-origin-width=&quot;2044&quot; data-origin-height=&quot;1528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;우분투에서 vscode 사용하기 성공 ^.^&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비의 농장/  딸기밭</category>
      <category>m1</category>
      <category>Mac</category>
      <category>ubuntu</category>
      <category>UTM</category>
      <category>VSCode</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/48</guid>
      <comments>https://paatata.tistory.com/48#entry48comment</comments>
      <pubDate>Fri, 30 Jun 2023 13:50:51 +0900</pubDate>
    </item>
    <item>
      <title>✍️ 메모 메모</title>
      <link>https://paatata.tistory.com/44</link>
      <description>&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;❏ 뭐하지&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 36px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style4&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 18px;&quot;&gt;~ 2023.12&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 18px;&quot;&gt;2024. ~&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: left; height: 18px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr;&lt;/span&gt;&amp;nbsp;대학원 알아보기&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr; 휴학? 교환학생?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr; 자율주행 대회&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: left;&quot;&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr; 토익 | 토스 | 토플 .. 900점 목표&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr; 인턴 (~ 08.31)&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;rarr; 연구과제 (sequence to set)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: left; height: 18px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;caret-color: #000000;&quot;&gt;✈️&lt;br /&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: left;&quot;&gt;&amp;rarr; (졸업) 일본 여행&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: left;&quot;&gt;&amp;rarr; (대학원) 자취방 다시..&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: left;&quot;&gt;&amp;rarr; ..?&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: left;&quot;&gt;&amp;rarr; 운전 연수..&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;❏ 건강 찾기 프로젝트&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  감태 주먹밥&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  강된장 쌈밥&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  유부 초밥&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  돈까스 김치 나베 우동&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  볶음 우동&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;✅ 오코노미야끼&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  마파두부&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;  묵사발&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 빵굽는 중/ </category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/44</guid>
      <comments>https://paatata.tistory.com/44#entry44comment</comments>
      <pubDate>Fri, 2 Jun 2023 14:35:58 +0900</pubDate>
    </item>
    <item>
      <title>[Emoji] 삽 이모티콘 | Unicode</title>
      <link>https://paatata.tistory.com/29</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;** 삽질 추가하기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;이모지0.png&quot; data-origin-width=&quot;1678&quot; data-origin-height=&quot;528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/db62Dh/btr3bnTNGJT/E9QNwodYqQHVVAwkxZvDx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/db62Dh/btr3bnTNGJT/E9QNwodYqQHVVAwkxZvDx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/db62Dh/btr3bnTNGJT/E9QNwodYqQHVVAwkxZvDx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdb62Dh%2Fbtr3bnTNGJT%2FE9QNwodYqQHVVAwkxZvDx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;159&quot; data-filename=&quot;이모지0.png&quot; data-origin-width=&quot;1678&quot; data-origin-height=&quot;528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;여러가지 삽질을 블로그에 정리하려고&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;새로운 카테고리를 만들던 중..&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WMwQQ/btr3lC9aqLM/L5DAWrgNk6dpKDJFcxi170/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WMwQQ/btr3lC9aqLM/L5DAWrgNk6dpKDJFcxi170/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;300&quot; data-filename=&quot;스크린샷 2023-03-11 오후 5.38.59.png&quot; style=&quot;width: 49.7459%; margin-right: 10px;&quot; data-widthpercent=&quot;50.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WMwQQ/btr3lC9aqLM/L5DAWrgNk6dpKDJFcxi170/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWMwQQ%2Fbtr3lC9aqLM%2FL5DAWrgNk6dpKDJFcxi170%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kNU19/btr3dDnPjDe/eZzG6cSJzgOVyL5bt3TWH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kNU19/btr3dDnPjDe/eZzG6cSJzgOVyL5bt3TWH0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;304&quot; data-filename=&quot;스크린샷 2023-03-11 오후 5.39.15.png&quot; style=&quot;width: 49.0913%;&quot; data-widthpercent=&quot;49.67&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kNU19/btr3dDnPjDe/eZzG6cSJzgOVyL5bt3TWH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkNU19%2Fbtr3dDnPjDe%2FeZzG6cSJzgOVyL5bt3TWH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;304&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;내 농장에 삽을 추가하고 싶었는데&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;삽 이모티콘이 없는거 아시나요?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;** 이모티콘 만들기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;없으면 내가 만들어서라도 쓰고싶은데&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이모티콘은 어디다가 문의하면 되나요ㅠ ㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_이모지1.png&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;524&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rGLf7/btr3cDPsMpZ/Pd6Lc31mvdkLPwOpKMWK1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rGLf7/btr3cDPsMpZ/Pd6Lc31mvdkLPwOpKMWK1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rGLf7/btr3cDPsMpZ/Pd6Lc31mvdkLPwOpKMWK1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrGLf7%2Fbtr3cDPsMpZ%2FPd6Lc31mvdkLPwOpKMWK1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;534&quot; height=&quot;139&quot; data-filename=&quot;edited_이모지1.png&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;524&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;나같은 사람이 또 있던걸까ㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;이모지2.png&quot; data-origin-width=&quot;1998&quot; data-origin-height=&quot;604&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mocpP/btr3cCweafX/HkB9K6laqI5DIRSOrjGLRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mocpP/btr3cCweafX/HkB9K6laqI5DIRSOrjGLRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mocpP/btr3cCweafX/HkB9K6laqI5DIRSOrjGLRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmocpP%2Fbtr3cCweafX%2FHkB9K6laqI5DIRSOrjGLRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;553&quot; height=&quot;167&quot; data-filename=&quot;이모지2.png&quot; data-origin-width=&quot;1998&quot; data-origin-height=&quot;604&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;이모티콘은 여기서 만드는거였군요.!&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;삽 이모티콘 만들어줘요!!!!&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;** Unicode Emoji&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;새로운 이모티콘 신청을 위한 가이드라인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;어쩌구 저쩌구.. 영어는 언제나 귀찮아요&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;이모지3.png&quot; data-origin-width=&quot;1836&quot; data-origin-height=&quot;1232&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKl5TJ/btr3ezyFkw5/lnmgwoAMkVQaD5Lt8CtGpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKl5TJ/btr3ezyFkw5/lnmgwoAMkVQaD5Lt8CtGpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKl5TJ/btr3ezyFkw5/lnmgwoAMkVQaD5Lt8CtGpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKl5TJ%2Fbtr3ezyFkw5%2FlnmgwoAMkVQaD5Lt8CtGpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;418&quot; data-filename=&quot;이모지3.png&quot; data-origin-width=&quot;1836&quot; data-origin-height=&quot;1232&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://unicode.org/emoji/proposals.html#example_submission&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://unicode.org/emoji/proposals.html#example_submission&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1678525278475&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Guidelines for Submitting Unicode&amp;reg; Emoji Proposals&quot; data-og-description=&quot;Guidelines for Submitting Unicode&amp;reg; Emoji Proposals This page describes the process and requirements for submitting a proposal for new emoji characters or emoji sequences, including how to submit a proposal, the selection factors that need to be addressed &quot; data-og-host=&quot;unicode.org&quot; data-og-source-url=&quot;https://unicode.org/emoji/proposals.html#example_submission&quot; data-og-url=&quot;https://unicode.org/emoji/proposals.html#example_submission&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://unicode.org/emoji/proposals.html#example_submission&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://unicode.org/emoji/proposals.html#example_submission&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Guidelines for Submitting Unicode&amp;reg; Emoji Proposals&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Guidelines for Submitting Unicode&amp;reg; Emoji Proposals This page describes the process and requirements for submitting a proposal for new emoji characters or emoji sequences, including how to submit a proposal, the selection factors that need to be addressed&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;unicode.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;대충 그림 그려서 '이거 만들어줘' 였으면 얼마나 좋을까ㅠ ㅠ&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;신청하기 전에 뭔가 확인하라는 사항이 많아요&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-03-11 오후 5.54.39.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xVgXv/btr3db6anpg/RBauQEDWrS1wUBYKvbmuyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xVgXv/btr3db6anpg/RBauQEDWrS1wUBYKvbmuyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xVgXv/btr3db6anpg/RBauQEDWrS1wUBYKvbmuyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxVgXv%2Fbtr3db6anpg%2FRBauQEDWrS1wUBYKvbmuyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;60&quot; data-filename=&quot;스크린샷 2023-03-11 오후 5.54.39.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;이미 신청된 이모티콘 목록을 확인할 수 있는데&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;이미 2번이나 되어 있는걸..?&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;지금은 2023년 ㅎ ㅎ&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;아니.. 근데 왜 아직까지 없어요??&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;이모지4.png&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/binyMR/btr3bdwXH4h/9tMWHyV6oSWwWQfHwXZRj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/binyMR/btr3bdwXH4h/9tMWHyV6oSWwWQfHwXZRj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/binyMR/btr3bdwXH4h/9tMWHyV6oSWwWQfHwXZRj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbinyMR%2Fbtr3bdwXH4h%2F9tMWHyV6oSWwWQfHwXZRj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;129&quot; data-filename=&quot;이모지4.png&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;신청기간은 4월부터..&amp;nbsp; ^^&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;뭐 새로운 이모티콘도 쓰고싶을때 신청해야겠다.&lt;/p&gt;</description>
      <category> &amp;zwj;  도비는 빵굽는 중/  귀여운게 제일 좋아</category>
      <category>삽</category>
      <category>삽 이모티콘</category>
      <category>삽질</category>
      <category>유니코드</category>
      <category>이모티콘</category>
      <author>오모짱_</author>
      <guid isPermaLink="true">https://paatata.tistory.com/29</guid>
      <comments>https://paatata.tistory.com/29#entry29comment</comments>
      <pubDate>Sat, 11 Mar 2023 15:26:23 +0900</pubDate>
    </item>
  </channel>
</rss>