<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>DO IT CHU</title>
    <link>https://eatchu.tistory.com/</link>
    <description>Eatchu&amp;rsquo;s Tech Blog</description>
    <language>ko</language>
    <pubDate>Mon, 24 Aug 2026 02:47:45 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>eatchu</managingEditor>
    <item>
      <title>[Prod2vec] E-commerce in Your Inbox : Product Recommendations at Scale</title>
      <link>https://eatchu.tistory.com/entry/Prod2vec-E-commerce-in-Your-Inbox-Product-Recommendations-at-Scale</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;a href=&quot;https://arxiv.org/pdf/1606.07154.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;E-commerce&amp;nbsp;in&amp;nbsp;Your&amp;nbsp;Inbox&amp;nbsp;:&amp;nbsp;Product&amp;nbsp;Recommendations&amp;nbsp;at&amp;nbsp;Scale&lt;/a&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;해당 논문은 사용자의 구매내역(email receipt)을 활용하여 Yahoo 사용자에게 개인화된 광고 메일을 발송하려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;각 email receipt는 특정 시점에 발생하는 구매내역이며 각 구매내역에는 여러개의 상품이 포함되어 있다.&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;font-family: 'Noto Sans Light';&quot;&gt;각 item의 embedding vector를 잘 representation하여 사용자에게 개인화된 추천 상품을 노출시키고자 하는 것이 해당 논문의 목적이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 논문에서는 구매 sequence를 활용하여 item embedding vector를 얻는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;Meta-Prod2vec을 공부하며 추가적인 개념으로 읽은 논문이라 prod2vec에 관한 내용만 적어보았다.&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;NOTATION&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;각 방법론을 설명하기에 앞서 용어 정리를 간단히 하고 넘어가보자.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$s = \text{email&amp;nbsp;receipt&amp;nbsp;set&amp;nbsp;purchased&amp;nbsp;by&amp;nbsp;user&amp;nbsp;n}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$e_m = \text{receipt&amp;nbsp;m&amp;nbsp;of&amp;nbsp;the&amp;nbsp;email&amp;nbsp;receipt&amp;nbsp;set&amp;nbsp;purchased&amp;nbsp;by&amp;nbsp;user&amp;nbsp;n}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$p_{mT_m} = \text{item Tm-th purchase among items purchased at the m receipt among the email receipt set purchased by user n}$&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&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;font-family: 'Noto Sans Light';&quot;&gt;$$s= (e_1, ..., e_M) \in S$$&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$$e_m = (p_{m1},...,p_{mT_m})$$&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;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr; 각 item에 대한 D차원의 embedding vector를 표현하는 것이 목적&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;font-family: 'Noto Sans Light';&quot;&gt;다시 정리하자면 각 유저가 구매했던 email receipt set($=s$)이 존재하며 각 set에는 시간대별로 구매한 개별 email receipt($=e_i$)이 존재할 것이다. 또한 각 email receipt에는 여러 상품 구매내역이 존재할 것이며 m번째 email receipt내에서 구매한 $T_m$번째 상품을 $p_{m_Tm}$이라고 정의한다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot; data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;prod2vec&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;prod2 vec&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar12&quot; data-grammar-focus=&quot;false&quot;&gt;&lt;b&gt;prod2vec&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-02-26 시간: 15.43.54.png&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WeQ6h/btr0KHlKc2v/7KfugtFZhXuTDiiyeHGhwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WeQ6h/btr0KHlKc2v/7KfugtFZhXuTDiiyeHGhwK/img.png&quot; data-alt=&quot;prod2vec&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WeQ6h/btr0KHlKc2v/7KfugtFZhXuTDiiyeHGhwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWeQ6h%2Fbtr0KHlKc2v%2F7KfugtFZhXuTDiiyeHGhwK%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;350&quot; height=&quot;318&quot; data-filename=&quot;스크린샷 2023-02-26 시간: 15.43.54.png&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;548&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;prod2vec&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;논문에서 제안하는 prod2vec 알고리즘은 각 유저가 구매한 상품 sequence를 기반으로 상품의 embedding vector를 학습한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;skip-gram 알고리즘을 활용해 상품 구매 sequence를 학습&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;target item의 주변 item을 통하여 embedding vector를 구함&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$v_p$ : input vector&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$v'_p$ : output vector&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$$ \mathcal{L} = \Sigma_{s\in S}\Sigma_{p_i\in s}\Sigma_{-c\leq j\leq c} \, logP(p_{i+j}|p_i)$$&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$$P(p_{i+j}|p_i) = {exp(v_{p_i}^Tv'_{p{i+j}}) \over \Sigma_{p=1}^P exp(v_{p_i}^Tv'_{p})} $$&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;font-family: 'Noto Sans Light'; letter-spacing: 0px;&quot;&gt;skip-gram 알고리즘을 알고 있다면 쉽게&amp;nbsp; 파악알 수 있는  어렵지 않은 수식이므로 &lt;a href=&quot;https://wikidocs.net/22660&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;skip-gram에 대한 이해&lt;/a&gt;가 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; letter-spacing: 0px;&quot;&gt;참조 링크를 바탕으로 그린 &lt;a href=&quot;https://eatchu.tistory.com/entry/NLP-Word2Vec-Skip-gram-SGNSSkip-gram-with-Negative-Sampling&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;skip-gram 구조&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 skip gram 구조에서 단어를 상품으로 대체하면 된다. 수식에서의 c($-c \leq j \leq c$)는 skip gram에서 정의하는 window size를 나타내며 $logP(p_{i+j}|p_i)$에서의 $p_{i+j}$는 $p_i$를 제외한 $p_i$의 주변 상품을 말한다.&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;font-family: 'Noto Sans Light';&quot;&gt;prod2vec의 문제점은 하나의 email receipt에 여러개의 상품이 동시에 구매되었다는 것을 고려하지 않는다는 점이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot; data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;bagged-prod2vec&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;bagged-prod2 vec&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar19&quot; data-grammar-focus=&quot;false&quot;&gt;&lt;b&gt;bagged-prod2vec&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-02-26 시간: 15.44.04.png&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsfQTf/btr0KF9hh9v/wvJgHENAKAUikTqg1Xe8UK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsfQTf/btr0KF9hh9v/wvJgHENAKAUikTqg1Xe8UK/img.png&quot; data-alt=&quot;bagged-prod2vec&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsfQTf/btr0KF9hh9v/wvJgHENAKAUikTqg1Xe8UK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsfQTf%2Fbtr0KF9hh9v%2FwvJgHENAKAUikTqg1Xe8UK%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;350&quot; height=&quot;444&quot; data-filename=&quot;스크린샷 2023-02-26 시간: 15.44.04.png&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;bagged-prod2vec&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞선 prod2vec의 문제점을 개선하기 위해 제안된 방법으로 기존의 prod2vec처럼 주변의 item을 탐색하는 것이 아니라, 주변의 email receipt를 탐색한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;수식은 아래와 같다.&amp;nbsp;&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;font-family: 'Noto Sans Light';&quot;&gt;$$ \mathcal{L} = \Sigma_{s\in S}\Sigma_{e_m \in s}\Sigma_{-n\leq j\leq n}\Sigma_{k=1,...,T_m} \, logP(e_{m+j}|p_{mk}) $$&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;font-family: 'Noto Sans Light';&quot;&gt;prod2vec의 두번째 term($\Sigma_{p_i\in s}$)에서는 set에 포함되는 모든 unique한 item의 sequence에 대해 살펴보았지만 bagged-prod2vec에서의 두번째 term($\Sigma_{e_m\in s}$)은 set에 포함되는 email receipt의 sequence를 살펴보고 있다.&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;font-family: 'Noto Sans Light';&quot;&gt;따라서 $e_m$에 포함되는 상품이 중심이 되며 주변 email receipt(m-n ~ m+n)에 대한 계산을 수행한다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$e_m$ 상품들을 학습할때에는 중심 상품(input)만 변하게 되며 target은 동일하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;또한 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;$e_m$에&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$$ P(e_{m+j}|p_{mk}) = P(p_{m+j,1}|p_{mk}) \times ... \times P(p_{m+j, T_m}|p_{mk}) $$&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;font-family: 'Noto Sans Light';&quot;&gt;$e_m$ receipt에서 k번째 item $p_{mk}$이 구매되었을때, $e_{m+j}$ receipt의 확률은 $e_{m+j}$에 포함되는 모든 상품의 확률을 곱하는 것과 같다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;Product-to-product predictive models&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot; data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;prod2vec-topK&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;prod2 vec-topK&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar32&quot; data-grammar-focus=&quot;false&quot;&gt;prod2vec-topK&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞서 제안된 방법으로 item의 embedding vector를 얻었다면 cosine 유사도를 통해 top k의 유사 item을 추천해줄 수 있다.&lt;/span&gt;&lt;/p&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot; data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;prod2vec-cluster&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;prod2 vec-cluster&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar34&quot; data-grammar-focus=&quot;false&quot;&gt;prod2vec-cluster&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;추천의 다양성을 위해 유사한 상품끼리 cluster로 묶고 이전에 구매된 item의 cluster와 가장 관련성 있는 cluster에서 item을 추천한다. 앞선 top-k의 방법에서 보다 다양한 유형의 상품을 추천하고 싶을때 활용하거나 top-k의 방식과 결합하여 적용해볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;각 상품의 embedding vector를 가지고 clustering을 수행하여 유사한 상품의 군집을 생성(논문에서는 k-means 적용)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;군집별 유사도를 구한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;군집별 유사도는 $c_i$ 군집 내에서 상품을 구매한 후 $c_j$에서 다음 상품을 구매할 확룔($\hat{\theta_{ij}}$&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;)이며 아래와 같이 구할 수 있다.&lt;/span&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$\hat{\theta_{ij}} = {\text{of times } c_i \text{ purchase was followed by } c_j \over \text{count of } c_i \text{ purchases}}$&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;분모는 $c_i$ 군집내에  속한 모든 상품이 구매된 수를 count한 값이며, &lt;br /&gt;분자는 $c_i$ 군집내에 속한 상품을 구매한 후 $c_j$ 군집내에 속한 상품을 구매한 수를 count한 값이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;example&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;k=5라고 가정할때, 각 군집을 $[c_1, c_2, c_3, c_4, c_5]$라고 한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$c_1$은 ($\hat{\theta_{12}}, \hat{\theta_{13}}, \hat{\theta_{14}}, \hat{\theta_{15}}$)&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;를 얻을 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;같은 방식으로 &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;$[c_1, c_2, c_3, c_4, c_5]$ 모든 군집에 대한 확률값을 얻을 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;각 군집별 가장 유사한 군집을 얻는다. (top 1)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;추천 상품을 유사 군집 내의 상품들과 유사도 계산을 수행하여 상품을 추천해준다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;example&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;상품 p가 군집 $c_1$에 속해있고, &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;$c_1$과 가장 높은 $\hat{\theta}$를 가진 군집은 $c_3$이라고 한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;상품 p는 $c_3$ 군집 내의 상품들과 cosine 유사도를 통해 top K 상품을 추천해줄 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://github.com/mquad/sars_tutorial/blob/master/04_Prod2Vec.ipynb&quot;&gt;https://github.com/mquad/sars_tutorial/blob/master/04_Prod2Vec.ipynb&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1679635229827&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM &quot; data-og-description=&quot;Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM RecSys 2018 - GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommend...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/mquad/sars_tutorial/blob/master/04_Prod2Vec.ipynb&quot; data-og-url=&quot;https://github.com/mquad/sars_tutorial&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bTqXvb/hyR143UAS1/bOFDBmViXuE6Kzx4hAhPGK/img.png?width=1200&amp;amp;height=600&amp;amp;face=975_136_1046_214&quot;&gt;&lt;a href=&quot;https://github.com/mquad/sars_tutorial/blob/master/04_Prod2Vec.ipynb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/mquad/sars_tutorial/blob/master/04_Prod2Vec.ipynb&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bTqXvb/hyR143UAS1/bOFDBmViXuE6Kzx4hAhPGK/img.png?width=1200&amp;amp;height=600&amp;amp;face=975_136_1046_214');&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;GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM RecSys 2018 - GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommend...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://github.com/mquad/sars_tutorial/blob/master/recommenders/Prod2VecRecommender.py&quot;&gt;https://github.com/mquad/sars_tutorial/blob/master/recommenders/Prod2VecRecommender.py&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1679635250158&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM &quot; data-og-description=&quot;Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM RecSys 2018 - GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommend...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/mquad/sars_tutorial/blob/master/recommenders/Prod2VecRecommender.py&quot; data-og-url=&quot;https://github.com/mquad/sars_tutorial&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bWmm1D/hyR117dIBc/TGgDLkSRlE96DPjgBB27sK/img.png?width=1200&amp;amp;height=600&amp;amp;face=975_136_1046_214&quot;&gt;&lt;a href=&quot;https://github.com/mquad/sars_tutorial/blob/master/recommenders/Prod2VecRecommender.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/mquad/sars_tutorial/blob/master/recommenders/Prod2VecRecommender.py&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bWmm1D/hyR117dIBc/TGgDLkSRlE96DPjgBB27sK/img.png?width=1200&amp;amp;height=600&amp;amp;face=975_136_1046_214');&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;GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM RecSys 2018 - GitHub - mquad/sars_tutorial: Repository for the tutorial on Sequence-Aware Recommend...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&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;</description>
      <category>Recommender System/Paper Review</category>
      <category>bagged prod2vec</category>
      <category>prod2vec</category>
      <category>prod2vec cluster</category>
      <category>prod2vec topk</category>
      <category>Recommendation</category>
      <category>recommender system</category>
      <category>sequence model</category>
      <category>skipgram</category>
      <category>word2vec</category>
      <category>추천시스템 모델</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/47</guid>
      <comments>https://eatchu.tistory.com/entry/Prod2vec-E-commerce-in-Your-Inbox-Product-Recommendations-at-Scale#entry47comment</comments>
      <pubDate>Fri, 24 Mar 2023 14:22:06 +0900</pubDate>
    </item>
    <item>
      <title>Potential Outcomes Framework</title>
      <link>https://eatchu.tistory.com/entry/Potential-Outcomes-Framework</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Potential Outcome Framework &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;(Rubin's Causal Model)&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전 글 :&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://eatchu.tistory.com/entry/Causal-Inference-인과추론&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.02.05 - [Recommender System/Causal Inference] - Causal Inference 인과추론&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;design based approach의 핵심&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;앞서 작성한 글에서 Design-Based Approach은&amp;nbsp;treatment를 정의하고 두 가능한 결과를 대조시킴으로써 효과를 추정할 수 있다고 말했다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;따라서 연구 대상에 행해질 수 있는 구체적인 처치(treatment)를 정의할 수 없다면 그것의 인과적인 효과나 측정을 정의할 수 없다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;인과추론을 위해서 중요한 것은 빅데이터나 복잡한 통계 모형이 아니고 데이터를 모으기 전에 연구자가 얼마나 적절한 연구 디자인을 고안했는지의 여부이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Counterfactual and Selection Bias&lt;/span&gt;&lt;/b&gt;&lt;/h3&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;font-family: 'Noto Sans Light';&quot;&gt;아래와 같은 문제를 보고자 한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;추천 알고리즘 A를 적용하면 사용자의 구매율이 늘어날까?&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;마침 사용자가 추천된 상품을 구매하려고 했을 수도 있고 해당 시기에 어떤 이벤트의 발생으로 구매율이 증가했을 수도 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그 외에도 우리가 알지 못하는 여러 외생 변수가 개입하는 환경에서 추천 시스템이 구매율을 유도했다고 보기는 어렵다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 효과를 추정하는 방법은 아래와 같다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Causal effect of the treatment = &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(1. Actual outcome for treated if treated) - (2. Potential outcome for treated if not treated)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light';&quot;&gt;추천 영역이 모든 사용자에게 노출되었다고 가정할때, 우리는 모든 사용자들을 &lt;b&gt;&quot;treatment group(처치 그룹)&quot;&lt;/b&gt;으로 보며 노출된 추천 영역은 &lt;b&gt;&quot;treatment(처치)&quot;&lt;/b&gt;라고 본다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;동일 시점에 &lt;u&gt;1. treatment group이 treatment를 받았을때의 실제 결과&lt;/u&gt;와 &lt;u&gt;2. treatment group이 treatment를 받지 않았을때의 잠재적인 결과&lt;/u&gt;의 차이를 비교해본다면 우리는 단지 이 처치에 대한 효과를 추정해볼 수 있다. 이 두 그룹이 가지는 차이는 단지 처치유무 밖에 없기 때문이다.&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만 현실적으로 동일 그룹에 두 가지의 결괏값을 기대할 순 없다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 우리는 treatment group에 treatment를 실행하지 않은 결괏값을 실제로 관측할 수 없으며 이것을&amp;nbsp;&lt;b&gt;Counterfactual&lt;/b&gt;(2. potential outcome for treated if not treated)이라고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Counterfactuals(반사실) : 만약 알고리즘이 적용되지 않았다면 어떤 결과가 일어났을까?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞서 말한 것처럼 현실적으로 우리는 counterfactual을 구할 수 없기 때문에 이상적인 방법은 아주 유사한 두 집단(treatment / control group)을 얻어 각각 다른 처치를 적용해 보는 것이다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만 두 집단이 아주 동일한 집단일 순 없기 때문에 필연적으로&amp;nbsp;&lt;b&gt;selection bias&lt;/b&gt;가 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;selection bias(선택편향) : Counterfactual과 Control Group의 특성 차이.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Observed effect of the treatment (실험으로 얻어진 결과)&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;= (Outcome for treatment group) - (Outcome for control group)&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;= (Outcome for treatment group)&amp;nbsp;[- counterfactual&amp;nbsp;+ counterfactual] - (Outcome for control group)&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;= (Outcome for treatment group)&amp;nbsp;- counterfactual&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;# Causal Effect &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; + counterfactual - (Outcome for control group) &lt;span style=&quot;color: #ee2323;&quot;&gt;# Selection Bias&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;$\text{Causal Effect = (Actual outcome for treated if treated) - (Potential outcome for treated if not treated)} \\ \text{Observe = (Actual outcome for treated if treated) - (Actual outcome for untreated if not treated)}$&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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;potential_outcome.png&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zEL2z/btsMLJwLEbJ/4YSDJpvywoKtAGN6BMUDV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zEL2z/btsMLJwLEbJ/4YSDJpvywoKtAGN6BMUDV0/img.png&quot; data-alt=&quot;유저의 지속시간을 confounder로 가정해보았다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zEL2z/btsMLJwLEbJ/4YSDJpvywoKtAGN6BMUDV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzEL2z%2FbtsMLJwLEbJ%2F4YSDJpvywoKtAGN6BMUDV0%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;673&quot; height=&quot;283&quot; data-filename=&quot;potential_outcome.png&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;유저의 지속시간을 confounder로 가정해보았다&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;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;Selection Bias example&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;반려동물을 키우는 사람(treatment)과 반려동물을 키우지 않는 사람(control)의 우울증 정도의 차이를 비교하는건 유의하지 않다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;일단 반려동물을 키운다는 것은 개인의 자발적인 선택이며 애초에 반려동물을 키우는 조건에서 우리가 보고자 하는 결과 변수(우울증)가 영향을 미치고 있을지도 모른다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 selection bias를 제거하여&amp;nbsp;&lt;span&gt;그 외의 특성 변수들이 동일한 두&lt;/span&gt;&amp;nbsp;그룹간의 결과 변수를 비교해야 한다.&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;font-family: 'Noto Sans Light';&quot;&gt;아래 자료에서 왼쪽 그림은 반려동물을 키우는 사람 중 우울한 사람이 83%로 반려동물을 키우지 않는 사람들보다 더 높은 우울증 비율을 보이고 있다. 이 그림에서 우리가 반려동물을 키우면 우울증이 생긴다고 판단하는 것은 옳지 않다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오른쪽 그림처럼 두 그룹에 영향을 미치는 교란변수 X를 분리하여 결과를 비교해보았을때, 각 조건에서 반려동물을 키우는 것이 우울증의 비율을 낮추는 것에 효과가 있다고 볼 수 잇다.&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;스크린샷 2023-02-18 오후 4.22.33.png&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0qCOK/btrZJc8I59Y/RSfLTyOQpBfkCzzkT9yUxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0qCOK/btrZJc8I59Y/RSfLTyOQpBfkCzzkT9yUxk/img.png&quot; data-alt=&quot;[Youtube] 인과추론의 데이터과학&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0qCOK/btrZJc8I59Y/RSfLTyOQpBfkCzzkT9yUxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0qCOK%2FbtrZJc8I59Y%2FRSfLTyOQpBfkCzzkT9yUxk%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;1688&quot; height=&quot;522&quot; data-filename=&quot;스크린샷 2023-02-18 오후 4.22.33.png&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;522&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[Youtube] 인과추론의 데이터과학&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;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;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Estimating&amp;nbsp;Effects&amp;nbsp;on&amp;nbsp;Potential&amp;nbsp;Outcomes&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 id=&quot;1.1-%EC%9E%A0%EC%9E%AC-%EA%B2%B0%EA%B3%BC%EC%99%80-%EC%B2%98%EC%B9%98%ED%9A%A8%EA%B3%BC%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9D%B8-Notation&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;i라는 개인이 받을 수 있는 처치 (Treatment) 유무를 $T_i$라고 하고 개인에 대한 결과를 $Y_i$라고 한다.&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;font-family: 'Noto Sans Light';&quot;&gt;$T_i = \begin{cases} 1, \qquad \text{if treated} \\ 0, \qquad \text{if not treated} \end{cases}$&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;font-family: 'Noto Sans Light';&quot;&gt;$Y_i = \begin{cases} Y_{1i}, \qquad \text{if} \ T_1 = 1 \\ Y_{0i}, \qquad \text{if} \ T_0 = 0 \end{cases}$&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;개인에 대한 treatment에 대한 효과는 다음과 같이 얻을 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 개인의 효과는 ITE(Individual Treatment Effect)라고 정의한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;개인의 효과를 모두 구해 평균을 구하면 모든 사용자에 대한 효과를 추정할 수 있다.&amp;nbsp;&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;font-family: 'Noto Sans Light';&quot;&gt;$\text{ITE} = Y_{1i} - Y_{0i}$&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$\text{Causal Effect} = E[Y_{1i} - Y_{0i}]$&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만 아래의 그림에서 알 수 있듯이 개인에 대한 관측 결과는 $Y_{1i}$나 $Y_{0i}$ 둘 중 하나만 얻을 수 있기때문에 ITE를 구하는 것은 불가능하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$Y^{obs} = Y_{1i}T_i + Y_{0i}(1-T_i)$&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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-01-19 오후 2.27.06.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boxcAD/btrZNJK2WiT/FTNcdgF4GFS4R82tqQOGqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boxcAD/btrZNJK2WiT/FTNcdgF4GFS4R82tqQOGqK/img.png&quot; data-alt=&quot;[Youtube] 인과추론의 데이터과학&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boxcAD/btrZNJK2WiT/FTNcdgF4GFS4R82tqQOGqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboxcAD%2FbtrZNJK2WiT%2FFTNcdgF4GFS4R82tqQOGqK%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;750&quot; height=&quot;339&quot; data-filename=&quot;스크린샷 2023-01-19 오후 2.27.06.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[Youtube] 인과추론의 데이터과학&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 개인에 대한 효과를 추정하여 평균을 내는 것이 아니라 Treatment Group과 Control Group의 평균을 구하여 각 그룹의 평균에 따른 차이를 구하는 방법을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 그룹의 평균을 구하여 얻은 효과를 ATE(Average Treatment Effect)라고 정의한다.&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;font-family: 'Noto Sans Light';&quot;&gt;$\text{ATE} = E[Y_{1i}|T_i=1] - E[Y_{0i}|T_i=0]$&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;details&gt;
&lt;summary&gt;참조 링크&lt;/summary&gt;
&lt;!-- summary 아래 한칸 공백 두어야함 --&gt; &lt;a href=&quot;https://www.youtube.com/channel/UCkEHnPq2T8Vpafk3p-Rk49A&quot;&gt;[Youtube] 인과추론의 데이터과학&lt;/a&gt;&lt;/details&gt;</description>
      <category>Recommender System/Causal Inference</category>
      <category>ate</category>
      <category>causal inference</category>
      <category>counterfactual</category>
      <category>ITE</category>
      <category>potential outcome</category>
      <category>selection bias</category>
      <category>선택편향</category>
      <category>인과추론</category>
      <category>인과추론 잠재결과</category>
      <category>인과추론 효과추정</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/45</guid>
      <comments>https://eatchu.tistory.com/entry/Potential-Outcomes-Framework#entry45comment</comments>
      <pubDate>Sat, 18 Feb 2023 19:30:50 +0900</pubDate>
    </item>
    <item>
      <title>Causal Inference 인과추론</title>
      <link>https://eatchu.tistory.com/entry/Causal-Inference-%EC%9D%B8%EA%B3%BC%EC%B6%94%EB%A1%A0</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;인과 추론(Causal Inference)이란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;기계학습 관점에서 우리는 &quot;고객이 상품을 구매할 것인가?&quot;를 궁금해왔다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;하지만 이러한 예측 모델에서 얻은 결과로 고객의 '구매 의도'를 파악하긴 어렵다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;고객이 구매하기까지 관측된 현상으로 구매 여부를 예측한 것이기 때문에 예측에 활용된 특성 변수들이 고객이 상품을 구매하게 되는 원인이라고 볼 순 없다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;즉, 구매 원인이 아닌 구매하기 전에 나타나는 현상을 활용한 것이다.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;따라서 우리는 구매 원인을 알 수 없기 때문에 고객의 구매율을 높이기 위해 어떠한 조치를 취해야 하는지 알 수 없다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;인과추론에서는 &quot;고객이 왜 구매하는가?&quot;를 궁금해한다. 따라서 고객이 구매를 하는데 영향을 주는 원인을 찾고자 한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;예를 들어 추천 모델 A(구매 원인)가 고객의 구매에 영향을 주는지(결과)를 알고 싶을때 우리는 인과추론을 활용하여 효과를 추정해볼 수 있다.&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;인과추론과 예측방법론의 차이&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 44px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style8&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 10px; text-align: center;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;&lt;b&gt;Prediction&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 10px; text-align: center;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;&lt;b&gt;Causal Inference&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;model fitting approach&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;데이터에서 보여지는 패턴을 가장 잘 fitting하도록 모델을 학습시킴&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Design-based approach&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;인과추론에 방해가 되는 요인(선택 편향)을 제거하는 접근&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;information filtering approach&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;관련성이 높은 association만 추려 유의한 관계만을 찾아냄&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Structure-based approach&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;인과 구조를 명시적으로 나타내고 인과 구조를 기반하여 인과관계를 추론&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-01-04 시간: 14.49.08.png&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MWH52/btrX2mY3eNw/18YKI2xV3dDGOWONVCUfhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MWH52/btrX2mY3eNw/18YKI2xV3dDGOWONVCUfhk/img.png&quot; data-alt=&quot;예측과 인과추론의 차이&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MWH52/btrX2mY3eNw/18YKI2xV3dDGOWONVCUfhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMWH52%2FbtrX2mY3eNw%2F18YKI2xV3dDGOWONVCUfhk%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;283&quot; data-filename=&quot;스크린샷 2023-01-04 시간: 14.49.08.png&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예측과 인과추론의 차이&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;인과추론을 바라보는 여러 관점&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;empiricism : 경험주의 (by David Hume)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;우리가 갖는 어떤 인상이나 관념이 또다른 관념을 예상 가능하도록 떠올릴 수 있다면 그것을 인과관계로 볼 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;어떤 실제의 원인이 직접적인 결과를 야기하는 법칙이라기 보다는 그런 원인이 있을때 항상 어떤 결과가 있었다는 반복적인 경험과 인상을 통해서 머릿속에서 형성되는 관념적인 연결고리에 불과하다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;예를들어 먹구름이 끼었을때 비가 온다는 것을 아는 이유는 &lt;b&gt;이전에 먹구름이 낄때마다 비가왔기 때문에 경험적으로 우리의 머릿속에 떠오르기 때문&lt;/b&gt;이다. 마찬가지로 다리가 쑤시면 비가 온다는 것을 아는것도 마찬가지이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;positivism : 실증주의 (by Immanuel Kant)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;지식은 관념에서 나오는 것이 아니고 과학적인 방법을 통해 실험하고 검증될 수 있는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;우리의 자연과 사회가 어떤 구조를 가지고 구성이 되었고 검증이 가능한 어떤 법칙에 의해서 우리의 사회와 자연이 돌아간다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;인과추론의 접근법&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;인과추론의 접근법은 크게 1)potential outcome framework와 2)structural causal model 두가지로 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 359px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style8&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 45px;&quot;&gt;
&lt;td style=&quot;width: 11.124%; height: 45px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 45.0775%; text-align: center; height: 45px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;&lt;b&gt;Potential Outcome Framework&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;(Design-Based Approach)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; text-align: center; height: 45px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;&lt;b&gt;Structural Causal Model&lt;/b&gt;&amp;nbsp;&lt;br /&gt;(Structure-Based Approach)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 112px;&quot;&gt;
&lt;td style=&quot;width: 11.124%; height: 112px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;특징&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.0775%; height: 112px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 연구에 행해질 구체적인&amp;nbsp;&lt;b&gt;treatment를 정의&lt;/b&gt;할 수 있어야 한다. &lt;br /&gt;-&amp;nbsp;&lt;b&gt;두 가능한 결과를 대조&lt;/b&gt;시킴으로써 효과를 추정할 수 있다.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 112px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;-&amp;nbsp;&lt;b&gt;인과 구조의 직접적인 관계를 확인&lt;/b&gt;하여 효과를 추정할 수 있다. &lt;br /&gt;- 원인-결과 관계에 발생 가능한&amp;nbsp;&lt;b&gt;변수들의 관계를 도식화&lt;/b&gt;하여 노드들 사이의 경로에 대한 조건부 확률을 가지고 추정이 가능하다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 135px;&quot;&gt;
&lt;td style=&quot;width: 11.124%; height: 135px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.0775%; height: 135px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 적절한 연구 디자인만 설정한다면 깊은 이해 없이도 인과적인 효과를 추정할 수 있다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #666666;&quot;&gt;ex) 아스피린이 어떤 인과구조를 바탕으로 두통 완화에 효과가 있는지 명확하게 알지 못하더라도 treatment / control 그룹간의 아스피린 투약 유무의 효과 차이를 통해서 아스피린이라는 약의 인과적인 효과를 정량화 할 수 있음&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 135px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 인과 구조에 대한 직접적인 관계를 보여주고 직접적으로 추정함으로써 어떤 원인이 결과에 영향을 미치는지 path를 확인할 수 있다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 67px;&quot;&gt;
&lt;td style=&quot;width: 11.124%; height: 67px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;단점&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.0775%; height: 67px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 구체적으로 어떠한 메커니즘에 의해 이러한 인과 관계가 나타내는지를 직접적으로 알기 어렵다.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 67px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 추정 결과는 인과 구조에 의존하기 때문에 인과 구조를 잘못 선정하게 되는 경우 완전히 다른 결과를 얻게 된다. 따라서 인과 구조를 잘 선정하고 검증하는 것이 중요하다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Causal Hierarchy&lt;/b&gt;&lt;/h2&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;br /&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;아래 그림에서 가장 첫번째의 Meta-Analysis는 반복적으로 관찰되는 인과관계를 결합하여 보다 명확하게 인과추론을 수행할 수 있는 가장 높은 신뢰수준을 가진 방법론이라고 볼 수 있다. 하지만 현실에서는 높은 신뢰수준을 가진 방법론을 적용하기 어려운 경우가 많고 우리는 적용가능한 다른 방법론을 찾아야한다.&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-02-05 시간: 14.38.14.png&quot; data-origin-width=&quot;1336&quot; data-origin-height=&quot;782&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btSK2U/btrX3qgDjeg/V1wJvAYIky6ZKCx7nhPRq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btSK2U/btrX3qgDjeg/V1wJvAYIky6ZKCx7nhPRq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btSK2U/btrX3qgDjeg/V1wJvAYIky6ZKCx7nhPRq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtSK2U%2FbtrX3qgDjeg%2FV1wJvAYIky6ZKCx7nhPRq0%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;700&quot; height=&quot;410&quot; data-filename=&quot;스크린샷 2023-02-05 시간: 14.38.14.png&quot; data-origin-width=&quot;1336&quot; data-origin-height=&quot;782&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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 data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음글 :&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://eatchu.tistory.com/entry/Potential-Outcomes-Framework&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.02.18 - [Recommender System/Causal Inference] - Potential Outcomes Framework&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;참조 링크&lt;/summary&gt;
&lt;!-- summary 아래 한칸 공백 두어야함 --&gt; &lt;a href=&quot;https://www.youtube.com/@causaldatascience&quot;&gt;Youtube 인과추론의 데이터과학&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://danbi-ncsoft.github.io/works/2019/02/07/churn_prediction_in_practice-2.html&quot;&gt;Danbi 실전 이탈 예측 모델링을 위한 세 가지 고려 사항 #2&lt;/a&gt;&lt;/details&gt;</description>
      <category>Recommender System/Causal Inference</category>
      <category>Causal</category>
      <category>causal inference</category>
      <category>causal inference prediction</category>
      <category>potential outcome framework</category>
      <category>what is cuasal inference</category>
      <category>예측 인과추론 차이</category>
      <category>인과추론</category>
      <category>인과추론개요</category>
      <category>인과추론뜻</category>
      <category>인과추론정의</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/43</guid>
      <comments>https://eatchu.tistory.com/entry/Causal-Inference-%EC%9D%B8%EA%B3%BC%EC%B6%94%EB%A1%A0#entry43comment</comments>
      <pubDate>Sun, 5 Feb 2023 15:08:36 +0900</pubDate>
    </item>
    <item>
      <title>컨텐츠기반 추천시스템(Content-Based Recommender System)</title>
      <link>https://eatchu.tistory.com/entry/%EC%BB%A8%ED%85%90%EC%B8%A0%EA%B8%B0%EB%B0%98-%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9CContent-Based-Recommender-System</link>
      <description>&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;앞선 &quot;&lt;a title=&quot;추천시스템이란?&quot; href=&quot;https://eatchu.tistory.com/entry/%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%EB%9E%80&quot;&gt;추천시스템이란?&lt;/a&gt;&quot; 포스팅에서 각 알고리즘에 간략하게 설명을 적어보았다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Contents-based Recommender System (컨텐츠 기반 추천 시스템)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;- 사용자가 과거에 좋아했던 아이템을 파악하고, 해당 아이템과 비슷한 아이템을 추천해준다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;- 간단하게 예를 들어 사용자가 과거에 스파이더맨과 아이언맨을 즐겨보았다면 타이타닉보다는 캡틴 아메리카를 추천해 줄 것이다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;즉, 위와 같은 예시는 스파이더맨, 아이언맨이 타이타닉보다 캡틴 아메리카와 더 유사하다는 결론에서 나온 결과이며 아이템끼리의 유사도를 구하는 것이 컨텐츠 기반 추천시스템의 목적이라고 볼 수 있다.&lt;br /&gt;&lt;b&gt;이러한 컨텐츠기반 추천시스템의 목적을 다시 한번 상기시키고 좀 더 상세하게 알아보도록 하자.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;컨텐츠기반 추천 시스템이란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;정보검색(Information retrieval)과 기계학습(Machine learning)의 중간 지점이라고 볼 수 있다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;아이템을 찾는 과정에서 과거 정보(정보 검색)를 활용해서 유저의 성향을 예측(머신러닝)하는 문제&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;유저 A가 높은 평점을 주거나 큰 관심을 갖는 아이템 X(이미 경험한 것)와 유사한 아이템 Y(아직 경험하지 않은 것)를 추천하는 것이다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;결국 컨텐츠 기반의 핵심은 &lt;b&gt;유저가 과거에 접했던 아이템들과 유저가 아직 접하지 않은 아이템들 사이의 유사성을 파악&lt;/b&gt;을 하는 것이 중요하다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;아이템 간의 유사성을 어떻게 파악&lt;/b&gt;하고 유사성을 파악하기 위해 &lt;b&gt;아이템간의 사용될 피쳐를 파악&lt;/b&gt;하는 것이 핵심이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;개인적인 생각으로 유사도를 잘 구하는 것도 중요하지만 연산과정에서 나온 유사도가 유의미한 결과를 도출할 수 있도록 각 특성을 연산이 가능하도록 잘 수치화(벡터화)하는 과정이 중요한 것으로 보인다.&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;특정 영화감독을 선호하여 그 영화감독이 만든 영화만 보든 사람들이 있다. 우리는 그런 유저들에게 동일한 또는 비슷한 영화감독의 영화를 추천해줄 것이다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;어떤 제품을 구매할 때 후기에 민감한 사람이라면 각 제품의 리뷰를 전처리하여 적절한 제품을 추천해줄 수도 있을 것이다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이러한 서비스 수행을 위해 중요한 것은 추천해주고자 하는&amp;nbsp;&lt;b&gt;1) 아이템의 다양한 특성을 고려(Item Representation)&lt;/b&gt;&amp;nbsp;하고&amp;nbsp;&lt;b&gt;2) 사용자가 어떤 아이템을 선호(User Profiling)&lt;/b&gt;&amp;nbsp;하는지를 알아내야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;1) Item Representation&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;영화를 추천할 때 장르, 영화감독, 출연배우, 상영시간, 평균 평점, 국가, 흥행 정도 등 다양한 특성들이 있을 것이다. 가지고 있는 모든 특성을 활용할 수도 있겠지만 이러한 특성이 너무 많다면 데이터의 차원이 너무 커져 오히려 사용자에게 적절한 영화를 추천해주지 못할 것이다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;과적합을 피하고&amp;nbsp;generalization 한 모델을 만들기 위해서는 적절한 특성을 선택하는 것이 중요하다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;적절한 특성을 선택했다면 이것을 모델이 이해할 수 있는 구조로 변환해야 하는데 다양한 수치형 벡터로 변환할 수 있다.&amp;nbsp;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;리뷰 같은 경우는 어떤 문장으로 이루어진 text features이므로 text preprocessing(TF-IDF 등)을 통해 모델에 적합한 데이터를 얻을 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;장르 같은 명목형 변수 같은 경우는 원-핫 벡터 형태로 변환하여 모델에 적합한 데이터를 얻을 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;평점 같은 수치형(순서형) 데이터는 아이템의 특성으로 활용하기 위해 어떠한 통계 값(avg, median 등)으로 변환하여 사용하는데, 이때 User의 특성(원래 평점을 높게 주는 유저 혹은 원래 평점을 낮게 주는 유저)을 반영해 가중치를 부여하여 모델에 적합한 데이터를 얻을 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;2) User Profile&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;유저에 대한 특성은 eplicit data를 활용해볼 수 있다. eplicit data란 사용자로부터 직접적으로 얻어진 데이터이며 사용자의 설문조사, 자발적인 키워드 입력, 작성한 리뷰 또는 평점을 말한다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이 외에도 검색 로그, 아이템 선택 후 구매 또는 취소 등의 implicit data를 활용해 다양한 사용자의 로그 지표를 활용해 볼 수도 있다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;User Profile은 분류(Classification)와 같다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;주어진 user profile 정보를 바탕으로 새로운 아이템이 유저가 선호하는 아이템 중 어떤 것에 속할지를 선택하는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;즉, 기존에 유저가 평가한 5개의 아이템($i_1, i_2,..., i_5$) 이 있다고 가정할 때, 새로운 아이템이 어디에 속할 것인지를 찾는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;다시 말해 컨텐츠 기반 추천 시스템은 Item Representation을 바탕으로 User Profiling 작업을 수행하고 얻어진 User Profile 결과를 바탕으로 새로운 Item이 들어왔을 때 어떤 User에게 추천해줄지를 찾는 것이다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;컨텐츠기반 추천시스템 구조&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;아래 그림은 컨텐츠 기반의 추천 시스템이 어떤 구조로 이루어져 있는지를 보여준다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;DB에서 꺼낸 raw data로부터 분석-추천리스트 생성까지의 프로세스이며 좋은 품질의 시스템을 위해 아래와 같은 과정을 지속적으로 반복해야 한다.&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;Untitled.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;338&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QGaHv/btrRDZOS5O7/DGEd8cKNv9mwEmXrO7LOAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QGaHv/btrRDZOS5O7/DGEd8cKNv9mwEmXrO7LOAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QGaHv/btrRDZOS5O7/DGEd8cKNv9mwEmXrO7LOAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQGaHv%2FbtrRDZOS5O7%2FDGEd8cKNv9mwEmXrO7LOAK%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;727&quot; height=&quot;297&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;338&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;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;컨텐츠 분석(Contents Analyzer)&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;얻어진 데이터로부터 &lt;b&gt;특성을 추출&lt;/b&gt;하고, &lt;b&gt;백터 화하는&lt;/b&gt; 과정이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;다시 말하면 비정형 데이터로부터 &lt;b&gt;우리에게 필요한 데이터를 추출(feature extraction)&lt;/b&gt;하고 추출된 데이터를 &lt;b&gt;모델이 이해할 수 있는 구조로 변경(vector representiation)&lt;/b&gt;하는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;유저 프로필 파악(Profile Learner)&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;유저가 선호하는 아이템과 취향을 파악&lt;/b&gt;하고 알고리즘을 통해서 유저의 데이터를 일반화한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;유사 아이템 선택(Filtering Component)&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;유저가 선호하는 아이템과 가장 유사한 아이템을 선택하는 과정이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;분석된 아이템의 특성과 남은 아이템과의 유사성을 계산하여 최종 추천 리스트를 생성한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;1-3 과정 반복&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;최종적으로 아이템을 추천해줬을 때, 유저가 추천된 아이템 중 선택하고 선택하지 않은 데이터를 얻는다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;얻어진 데이터를 다시 추가하여 추천 시스템을 계속 업데이트한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;컨텐츠 기반 추천 시스템의 장단점&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;각 추천 알고리즘의 특징과 장단점을 이해해야 과제를 수행할 때 어떤 종류의 방법론을 적용해야 하는지 판단할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Advantage&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;다른 유저의 데이터가 필요하지 않다.&lt;/b&gt; &amp;rarr; 각 유저가 구매한 아이템의 데이터가 중요.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;협업 필터링 같은 경우엔 비슷한 유저를 찾아 비슷한 유저가 구매한 아이템을 추천해주지만 컨텐츠 기반은 유저가 구매한 아이템을 기반으로 추천해주기 때문에 다른 유저를 고려하지 않아도 된다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;추천할 수 있는 아이템의 범위가 넓다.&lt;/b&gt; &amp;rarr; unique, new, unpopular 아이템 모두 가능. (&lt;a href=&quot;#cold-start&quot;&gt;cold start&lt;/a&gt; 커버 가능)&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;단순히 그 아이템의 기본 특성만을 가지고 컨텐츠 기반 시스템을 수행한다면 신제품이나 유저들의 구매이력이 없는 아이템이더라도 아이템의 기본 특성(아이템의 카테고리, 가격 등)은 존재하기 때문에 비교적 cold start 문제에 빠지는 경향이 덜하다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;하지만 컨텐츠 기반에서 아이템의 특성을 구할 때 유저에서 도출된 특성을 포함한다면 역시 cold start 문제에 직면할 가능성이 높다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;추천하는 이유를 제시할 수 있다.&lt;/b&gt; &amp;rarr; 특정 feature가 추천의 이유가 됐다고 설명 가능.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;즉, 유저가 좋아하는 5개 아이템의 특성을 분석하여 그 feature를 다른 아이템을 추천하는 이유로 설명을 할 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;ex) 유저가 스파이더맨, 토르, 아이언맨을 즐겨보았다. 해당 장르와 감독, 영화사 등등의 어떠한 공통점을 찾아 feature로 선정하고 장르와 감독, 영화사 등&amp;nbsp;겹치는 캡틴 아메리카를 추천하게 되는 이유로 제시가 가능하다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Disadvantage&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;적절한 feature를 찾기가 어렵다.&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;영화 시청 시간, 배우, 시놉시스, 나라, 장르, 감동 등 굉장히 많은 영화의 특성 중 어떠한 feature 조합이 적절한지 찾는 것이 어렵다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;새로운 유저를 위한 추천이 어렵다.&lt;/b&gt; &amp;rarr; 과거 데이터가 없는 유저에 대해 제품을 추천하는 것이 쉽지 않음.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;새로운 아이템 추천에는 효과적이라 하더라도, 새로운 사용자에게 제안하는 추천은 효과적이지 않다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;각 유저가 이미 구매한 아이템(또는 자주 클릭했거나 선호하는 아이템)이 존재하지 않는다면 제품을 추천하는 것이 쉽지 않다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;선호하는 특성을 가진 항목을 반복 추천(overspecialization)한다.&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;장점 2번과 상반되는 개념이지만 맥락은 조금 다르다. 한 유저가 액션 장르 영화만 100개를 보았다고 추천 pool에 있는 영화가 모두 로맨스 장르라면 추천이 어려울 수 있다.(feture를 장르 하나로만 선정했다는 가정하에)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;유저의 성향을 파악하게 되면 해당 성향을 위주로만 추천을 하게 되기 때문에 해당 측면으로는 추천 아이템의 범위가 좁다고도 볼 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;details&gt;
&lt;summary style=&quot;font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;[click]&lt;/b&gt; 부가 설명 및 참고 자료&lt;/span&gt;&lt;/summary&gt;
&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;!-- summary 아래 한칸 공백 두어야함 --&gt;&lt;/span&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;cold start&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Cold Start란 추천 시스템이 새롭게 들어온 유저(고객)이나 특정 컨셉(매니악한)을 가진 유저(고객)에 대한 정보가 충분하지 않아 적절한 상품을 추천해주지 못하는 문제를 말한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;데이터가 부족한 상품에 대한 추천이 어렵기 때문에 기본적인 성능을 보장하는 협업 필터링 모델 구축이 쉽지 않다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이 포스팅은 패스트캠퍼스 &lt;a href=&quot;https://fastcampus.co.kr/data_online_rs&quot;&gt;딥러닝을 활용한 추천시스템 구현 강의&lt;/a&gt;를 듣고 작성한 내용입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/details&gt;</description>
      <category>Recommender System/Recommendation</category>
      <category>CBF</category>
      <category>colld start</category>
      <category>content based recommender system</category>
      <category>추천시스템</category>
      <category>추천알고리즘</category>
      <category>컨텐츠기반 구조</category>
      <category>컨텐츠기반 장단점</category>
      <category>컨텐츠기반 프로세스</category>
      <category>컨텐츠기반알고리즘</category>
      <category>컨텐츠기반추천시스템</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/42</guid>
      <comments>https://eatchu.tistory.com/entry/%EC%BB%A8%ED%85%90%EC%B8%A0%EA%B8%B0%EB%B0%98-%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9CContent-Based-Recommender-System#entry42comment</comments>
      <pubDate>Sun, 20 Nov 2022 01:16:59 +0900</pubDate>
    </item>
    <item>
      <title>추천시스템이란?</title>
      <link>https://eatchu.tistory.com/entry/%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%EB%9E%80</link>
      <description>&lt;div class=&quot;markdown-body&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 쇼핑을 할때나 유튜브를 볼때 등 이미 실생활에서 많은 추천 시스템을 경험하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유튜브에서 내가 먹방 콘텐츠의 영상을 여러개 보았다면 이후에 내 피드에는 먹방과 관련된 영상이 뜨게 된며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 정보는 사람들에게 유익하지만 그만큼 내가 원하는 특정한 정보만을 찾기 힘들게 만들기도 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 추천 시스템은 사용자가 정보를 수집하고 찾는 시간을 줄여주는 것이 목적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Pull Information과 Push Information&lt;/strong&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;검색서비스(Pull Information)&lt;/b&gt;&lt;br /&gt;기존에 우리가 서칭을 할때 사용하는 검색 서비스는 우리가 무엇을 찾고자 하는지를 명확히 알고 있을때 활용할 수 있다.&lt;br /&gt;내가 특정 지역의 맛집을 찾고 싶었다면 인터넷에 &quot;oo지역 맛집&quot;이라는 검색어를 적어 얻고자 하는 정보를 얻을 수 있다.&lt;br /&gt;즉, 사용자가 스스로 찾고자 하는 정보를 알고 있으며 사용자의 요청 이후 결과가 발생한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천서비스(Push Information)&lt;/b&gt;&lt;br /&gt;하지만 추천서비스의 특성은 약간 다르다.&lt;br /&gt;사용자가 스스로 원하는 바를 정확히 알지 못하는 경우에 사용자가 원할 법한 정보를 미리 찾아 보여주는 것이 추천서비스이다.&lt;br /&gt;이는 사용자가 어떤 정보를 요구하기도 전에 발생하며 사용자의 과거 이력이나 사용자와 비슷한 다른 사용자의 정보를 활용해서 해당 서비스를 수행하도록 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기업에서는 왜 추천시스템을 사용하는가?&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;더 많은 아이템을 판매할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 원하는 제품을 추천함으로써 사용자의 구매를 이끌어 기업에게 이익을 가져다 준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; start=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;더 다양한 아이템을 판매할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1번과 같은 맥락으로 보이지만 많은 제품을 판매하는 것과 다양한 제품을 판매하는 것은 다르다.&lt;/li&gt;
&lt;li&gt;사용자가 원했지만 정보가 너무 많아 미쳐 보지 못했을 상품을 추천해줌으로써 구매를 이끌어낼 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; start=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;소비자 만족도가 증가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 원하는 정보를 쉽게 얻으면서 해당 플랫폼의 만족도가 증가하게 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; start=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;충성도 높은 고객 증가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 만족도가 증가하면서 해당 플랫폼에 머무르는 시간이 증가하게 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; start=&quot;5&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고객이 원하는 것이 무엇인지 알 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기업이 각 고객의 니즈를 파악하게 되고 더 많은 데이터가 쌓을수록 추천알고리즘의 성능 향상하는 선순환이 이루어진다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추천시스템에서 중요한 것&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접적인 방법(Explicit) : 설문조사, 평가, 피드백&lt;/li&gt;
&lt;li&gt;간접적인 방법(Implicit) : 웹페이지에 머무는 시간, 클릭 패턴, 검색 로그&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;아이템의 경우 플랫폼마다 정의되는 종류와 특성이 다르다.&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;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추천 시스템이 풀고자 하는 문제&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;랭킹 문제&lt;/b&gt;&lt;br /&gt;: 순위가 중요하기 때문에 평점이나 점수를 정확하게 예측할 필요는 없다.
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 아이템을 좋아할만한 상위 n명의 유저를 선정할 수 있다.&lt;/li&gt;
&lt;li&gt;특정 유저가 좋아할만한 상위 n개의 아이템을 선정할 수 있다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; start=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;예측 문제&lt;/b&gt;&lt;br /&gt;: 유저-아이템 조합에서 평점이나 점수를 예측한다.&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzTbQ4/btrNManWBzC/yWVMcw9Yr8TmrTf1yvzPq1/img.png&quot; alt=&quot;&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왼쪽 그래프는 (사용자, 아이템)으로 이루어진 평점 행렬이다. 즉, 첫번째 유저는 1번 제품에 1점을 부여했으며 두번째 유저는 1번 제품에 5점을 부여했다.&lt;/li&gt;
&lt;li&gt;오른쪽 그래프는 (사용자, 아이템)으로 이루어진 구매여부 행렬이다. 즉, 첫번째 유저는 1번 제품을 구매했으며 2번 제품은 구매하지 않았다.&lt;/li&gt;
&lt;li&gt;예측 문제에서는 위와 같은 행렬의 빈 공간(사용자의 제품에 대한 평점 또는 사용자의 제품 구매 여부)를 예측하는 것이 목적이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추천시스템 알고리즘 종류&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Contents-based Recommender System (컨텐츠기반 추천시스템)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 과거에 좋아했던 아이템을 파악하고, 해당 아이템과 비슷한 아이템을 추천해준다.&lt;/li&gt;
&lt;li&gt;간단하게 예를 들어 사용자가 과거에 스파이더맨과 아이언맨을 즐겨보았다면 타이타닉보다는 캡틴아메리카를 추천해 줄 것이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Collaborative Filtering (협업필터링)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비슷한 성향 또는 취향을 갖는 다른 유저가 좋아한 아이템을 현재 유저에게 추천해준다.&lt;br /&gt;컨텐츠기반의 추천시스템에서는 비슷한 아이템을 찾아 추천해줬다면 협업필터링에서는 비슷한 유저를 찾아 그 유저가 좋아했던 아이템을 추천해주는 것이다.&lt;/li&gt;
&lt;li&gt;예를 들어 A와 B라는 사용자 모두 스파이더맨과 아이언맨을 즐겨보았다. 그리고 A라는 사용자는 타이타닉 역시 즐겨보았다면 B 사용자에게 타이타닉을 추천해 줄 것이다. (콘텐츠기반이라면 타이타닉을 추천하지 않을 것이다.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Hybrid Recommender System
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;말그대로 위 두개의 방법을 결합한 추천시스템이다.&lt;/li&gt;
&lt;li&gt;콘텐츠기반의 추천시스템과 협업필터링의 장, 단점을 상호보완하였다.&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 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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context-based Recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context-aware Recommendation System&lt;/li&gt;
&lt;li&gt;Location-based Reccondation System&lt;/li&gt;
&lt;li&gt;Real-time or Time-Sensitive Recommendation System&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Community-based Recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 친구 또는 속한 커뮤니티의 선호도를 바탕으로 추천&lt;/li&gt;
&lt;li&gt;sns등의 뉴스피드 또는 sns 네트워크 데이터 활용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Knowledge-based Recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 도메인 지식을 바탕으로 아이템의 features를 활용&lt;/li&gt;
&lt;li&gt;Case-based Recommendation&lt;/li&gt;
&lt;li&gt;Constraint-based Recommendation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deeplearning-based Recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Wide &amp;amp; Deep&lt;/li&gt;
&lt;li&gt;AutoEncoder&lt;/li&gt;
&lt;li&gt;Neural Collaborative Filtering&lt;/li&gt;
&lt;li&gt;Deep Factoriation Machine&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추천시스템의 한계&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Scalability&lt;/b&gt; : 이전에 학습하지 못한 새로운 상품이나 트렌드가 바뀌어 마주하게 되는 새로운 상황에 대한 대처가 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Proactive Recommender System&lt;/b&gt; : 특별한 요청이 없어도 사전에 먼저 제공하는 추천 서비스. 어디서나 유저에게 끊임없이 좋은 정보를 추천해줄 수 있는지.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Cold-Start Problem&lt;/b&gt; : 데이터가 부족한 상품에 대한 추천이 어려움. 기본적인 성능을 보장하는 협업 필터링 모델 구축이 쉽지 않음. &amp;rarr; 데이터 부족이 가장 큰 문제&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Privacy preserving Recommender System&lt;/b&gt; : 개인정보 등 유저 정보가 가장 중요하지만 직접적으로 사용하기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Mobile devices and Usage Contexts&lt;/b&gt; : Personal Computing, Location-based Service(LBS) 위치 기반, 개별 상황 또는 환경 등에 따라 다른 컨텍스트를 사용하는게 어려움&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Long-term and Short-term user preference&lt;/b&gt; : 개인 또는 그룹의 단기, 장기 관심 사항이 다름. 추천 받고 싶은 아이템이 현재 또는 과거 중 어느 시기에 관련 있는지 파악하기 어려움&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Generic User models and Cross Domain Recommender System&lt;/b&gt; : 하나의 모델을 여러가지 데이터에 적용하기 어려움. 비슷한 도메인의 데이터를 활용해도 동일한 성능의 추천시스템을 기대하기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Starvation and Diversity&lt;/b&gt; : 필요한 컴퓨터 자원을 끊임없이 가져오지 못하는 상황.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;[click] 참고 자료&lt;/b&gt;&lt;/summary&gt;
&lt;!-- summary 아래 한칸 공백 두어야함 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 포스팅은 패스트캠퍼스 &lt;a href=&quot;https://fastcampus.co.kr/data_online_rs&quot;&gt;[딥러닝을 활용한 추천시스템 구현 강의]&lt;/a&gt;를 듣고 작성한 내용입니다.&lt;/p&gt;
&lt;/details&gt;&lt;/div&gt;</description>
      <category>Recommender System/Recommendation</category>
      <category>Recommendation</category>
      <category>Recommendation System</category>
      <category>딥러닝</category>
      <category>머신러닝</category>
      <category>추천시스템</category>
      <category>추천시스템 개요</category>
      <category>추천시스템 목적</category>
      <category>추천시스템 정의</category>
      <category>추천시스템 한계</category>
      <category>추천알고리즘</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/33</guid>
      <comments>https://eatchu.tistory.com/entry/%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%EB%9E%80#entry33comment</comments>
      <pubDate>Sun, 9 Oct 2022 15:56:25 +0900</pubDate>
    </item>
    <item>
      <title>BERT Architecture (Transformer Encoder)</title>
      <link>https://eatchu.tistory.com/entry/BERT-Architecture-Transformer-Encoder</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;BERT&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;font-family: 'Noto Sans Light';&quot;&gt;BERT는 2018년 구글이 공개한 사전 훈련 모델이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Transformer의 encoder 구조를 사용해 구현되었으며 약 33억 개의 텍스트 데이터로 사전 훈련되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전의 Embedding 방식에서는 다의어나 동음이의어를 구분하지 못하는 문제점이 있었고 이러한 문제의 해결책으로 BERT가 출현하게 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그럼 어떠한 방식으로 BERT가 문장의 문맥을 이해하고 단어를 표현할 수 있는지 알아보자.&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;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;INPUT&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ezoBMY/btrBSl8fcBi/sPDKMPLc4ck9NlCPm1y62K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ezoBMY/btrBSl8fcBi/sPDKMPLc4ck9NlCPm1y62K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ezoBMY/btrBSl8fcBi/sPDKMPLc4ck9NlCPm1y62K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FezoBMY%2FbtrBSl8fcBi%2FsPDKMPLc4ck9NlCPm1y62K%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;252&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;252&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Wordpiece Tokenizer&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;BERT에서는 subword tokenizer로 wordpiece tokenizer를 사용했다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이는 자주 등장하는 단어 집합은 그대로 사용하고, 자주 등장하지 않는 단어의 경우, 더 작은 단위인 서브 워드로 분리하여 단어 집합에 추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;실제로 세상의 모든 단어들에 index를 부여하여 학습할 수 없기 때문에 모델이 단어를 처리할 수 있는 범위를 구하는 것&lt;/b&gt;이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;즉, 경우의 수를 줄여 토큰을 재사용하고 OOV 처리에 용이하다는 장점&lt;/b&gt;&lt;/span&gt;이 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;BERT에서는 이러한 방식으로 33억 개의 단어를 약 3만 개의 vocabulary에 담았다.&amp;nbsp;&lt;/span&gt;&lt;/p&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Positional Embedding&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;단어의 위치 정보를 얻기 위해 각 단어의 임베딩 벡터에 위치 정보들을 더하여 모델의 입력으로 사용하는 임베딩 값이다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;transformer의 내부 구조를 살펴보면 알겠지만 BERT는 문장 내 모든 토큰을 참조하는 구조로 단어 입력을 순차적으로 받지 않기 때문에 단어의 위치 정보를 따로 주어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;positional embedding을 진행하면 동일한 단어라도 문장 내의 위치에 따라 다른 값을 가질 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Segment Embedding&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;두 개의 문장을 입력으로 받을때 문장을 구분하기 위한 임베딩 값으로 사용&lt;/b&gt;&lt;/span&gt;된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위 그림에서처럼 입력으로 두 개의 문장이 들어갔을때 각 문장에 0, 1값을 주어 두개의 문장을 구분할 수 있게 해주는 벡터이다.&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 wordpiece가 수행된 토큰들의 단어 임베딩 값과 위치 임베딩, 세그먼트 임베딩 값이 합산되어 BERT의 입력으로 들어가게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;input_embedding = word_embedding + positional_embedding + segment_embedding&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&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;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Encoder&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;249&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dyAAbk/btrBTAwOAZI/33J193CZO9C8KazYETWmy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dyAAbk/btrBTAwOAZI/33J193CZO9C8KazYETWmy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dyAAbk/btrBTAwOAZI/33J193CZO9C8KazYETWmy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdyAAbk%2FbtrBTAwOAZI%2F33J193CZO9C8KazYETWmy1%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;626&quot; height=&quot;249&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;249&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 입력 데이터를 살펴봤으니 BERT의 내부구조에 대해서 알아볼 차례다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞서 말했듯이 BERT는 transformer encoder 구조를 사용해 구현되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위의 그림을 보면 입력 데이터가 들어오면 n개의 encoder(BERT Layer #n)가 쌓여있고 순차적으로 학습이 진행된다.&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;font-family: 'Noto Sans Light';&quot;&gt;이해를 좀 더 쉽게 하기 위해 &lt;b&gt;Encoder 구조는 BERT-Base 기준으로 설명&lt;/b&gt;을 하려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;BERT-Base&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;L = 12 : encoder 12개&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;D = 768 : 768차원의 embedding vector&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;A = 12 : 12개의 self-attention&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;BERT-Base는 위와 같이 설정되어있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그럼 지금 Encoder는 12개가 쌓여있으며 한 Encoder의 내부구조는 위 그림에서 오른쪽에 그려진 구조를 참고하면 된다.&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;344&quot; data-origin-height=&quot;249&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pr6y5/btrB7cqztg3/2NiVnISZc5uX0iHetjOFj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pr6y5/btrB7cqztg3/2NiVnISZc5uX0iHetjOFj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pr6y5/btrB7cqztg3/2NiVnISZc5uX0iHetjOFj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPr6y5%2FbtrB7cqztg3%2F2NiVnISZc5uX0iHetjOFj1%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;344&quot; height=&quot;249&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;344&quot; data-origin-height=&quot;249&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Encoder층은 순서대로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Multi-head Self-Attention&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Add &amp;amp; Norm&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. FFNN&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Add &amp;amp; Norm&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. Multi-head Self-Attention&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그림에서처럼 입력 데이터가 들어오면 Multi-head Self-Attention 층을 지나게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Multi-head attention 층은 여러 개의 self-Attention이 병렬적으로 학습되어있는 구조로 이를 이해하기 위해서는 self-attention이 어떻게 동작하는지 알아야 한다.&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7POUL/btrCkLxPqNc/FPbLxDbf4VzzMxdLdv6kVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7POUL/btrCkLxPqNc/FPbLxDbf4VzzMxdLdv6kVk/img.png&quot; data-alt=&quot;self-attention 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7POUL/btrCkLxPqNc/FPbLxDbf4VzzMxdLdv6kVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7POUL%2FbtrCkLxPqNc%2FFPbLxDbf4VzzMxdLdv6kVk%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;2000&quot; height=&quot;1194&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1194&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;self-attention 구조&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;self-attention의 학습과정을 도식화한 그림이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설명을 순서대로 진행하기 위해 파트별로 박스와 번호를 설정해놨다.&amp;nbsp;&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 input matrix를 보자. &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;그림에서의 matrix은 문장 하나가 input으로 들어갔을 경우를 행렬로 그린 것이다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;N은 우리가 설정한 최대 단어 길이&lt;/b&gt;&lt;/span&gt;이며 BERT-Base에서는 최대 단어 길이를 512로 설정하였기 때문에 N은 512로 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;d_model은 embedding 차원&lt;/b&gt;&lt;/span&gt;을 나타내며 BERT-Base기준으로 768차원이라고 볼 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 현재 512x768차원의 행렬이 입력으로 들어간다.&amp;nbsp;&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;여기서 우리는 &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;d_model x d_k 차원의 3개의 가중치 행렬과 각각 연산을 진행&lt;/b&gt;&lt;/span&gt;한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이때 &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;d_k는 D(embedding vector=768) / A(number of self-attention=12)로 설정이 되며&lt;/b&gt;&lt;/span&gt; BERT-Base 기준으로 768/12=64차원이 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이렇게 설정하는 이유는 우리가 학습이 끝난 각각의 self-attention의 output을 concat 하게 되는데 이때 차원이 기존의 embedding차원으로 나와야 하기 때문이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;즉, 우리는 12개의 self-attention을 수행하고 각 self-attention에서 64차원의 행렬이 output으로 나오게 되면 이를 이어 붙여 12 * 64 = 768차원의 최종적인 multi-head self-attention의 output을 구할 수 있게 된다.&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;각 가중치 행렬을 연산하게 되면 우리는 d_model x d_k 차원의 Q(query), K(key), V(value) matrix를 얻게 되며&lt;/span&gt;&lt;/b&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 각각의 matrix는 값은 다 다르지만 본질적으로 input의 정보를 내포하고 있는 matrix이다.&lt;/span&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 attention score를 구하는데 transformer에서 attention score method는 scaled dot method를 사용하였다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;scaled dot method = $Q * K^T / \sqrt{d_k}$&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;method를 따라서 Q matrix와 K의 역행렬 matrix 연산을 수행&lt;/span&gt;&lt;/b&gt;한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 연산은 각 token들이 문장 내의 모든 token과 연산을 하는 과정이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;우리가 얻어낸 N x N matrix은 각 토큰이 문장내의 모든 토큰을 참고한 값을 가지고 있는 행렬&lt;/b&gt;&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;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;4)&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;얻어진 N x N matrix에 scaling을 진행한 후 softmax를 씌운다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;softmax를 적용한 N x N matrix는 각 feature vector의 합이 1인 어떠한 확률 값을 가지게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;이 확률 값의 의미는 각 토큰이 참고한 토큰들과의 유사도를 의미&lt;/b&gt;&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;softmax를 수행한 NxN 유사도 행렬을 V matirx와 연산&lt;/span&gt;&lt;/b&gt;해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그럼 self-attention의 최종 output으로 N x d_k의 matrix을 얻게 되며 이 matrix는 문장 내에 어떤 단어들이 유사한지를 알 수 있게 해 준다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;즉, self-attention을 통해 &quot;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;그 &lt;b&gt;동물&lt;/b&gt;은 길을 건너지 않았다. 왜냐하면 &lt;b&gt;그것&lt;/b&gt;은 너무 피곤하였기 때문이다.&quot;라는 문장에서 '&lt;b&gt;그것&lt;/b&gt;'이 '&lt;b&gt;동물&lt;/b&gt;'과 연관성이 크다는 것을 기계가 학습하는 것이다.&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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PjgFs/btrCjV101xW/iOl4B9nHbkwDAKwCVKFH8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PjgFs/btrCjV101xW/iOl4B9nHbkwDAKwCVKFH8K/img.png&quot; data-alt=&quot;multi-head self-attention 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PjgFs/btrCjV101xW/iOl4B9nHbkwDAKwCVKFH8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPjgFs%2FbtrCjV101xW%2FiOl4B9nHbkwDAKwCVKFH8K%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;2000&quot; height=&quot;1212&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1212&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;multi-head self-attention 구조&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위의 self-attention 과정을 12개 병렬적으로 진행하여 각 self-attention에서 나온 N x d_k matrix(=attention head)를 모두 이어 붙이면 최종적으로 N x d_model matrix가 나오고 이 matrix는 multi-head self-attention의 최종 output이 된다.&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;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;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. Add &amp;amp; Norm&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Residual Connection&lt;/span&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1402&quot; data-origin-height=&quot;581&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2J1Pa/btrCiRZ7GLH/Kt0kalNq02mxS7UnRU6ARk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2J1Pa/btrCiRZ7GLH/Kt0kalNq02mxS7UnRU6ARk/img.png&quot; data-alt=&quot;Residual Connection&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2J1Pa/btrCiRZ7GLH/Kt0kalNq02mxS7UnRU6ARk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2J1Pa%2FbtrCiRZ7GLH%2FKt0kalNq02mxS7UnRU6ARk%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;269&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1402&quot; data-origin-height=&quot;581&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Residual Connection&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;multi-head self-attention층을 통과하면 Add &amp;amp; Norm층을 통과한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Add는 Residual Connection을 뜻한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;multi-head self-attention을 통과한 output과 multi-head self-attention을 통과하기 전의 input 행렬은 동일한 차원을 가지고 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;이 두 행렬을 다시 더해주는 것이 Residual Connection&lt;/b&gt;&lt;/span&gt;이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Residual Connection은 computer vision의 ResNet이란 모델에서 나온 방법으로 multi-head self-attention을 통과한 output이 기존의 input 정보를 많이 손실하여&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt; 기존 input 정보를 최대한 보존하고자 하는 것이 목적&lt;/b&gt;&lt;/span&gt;이다.&amp;nbsp;&lt;/span&gt;&lt;/p&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;Layer Normalization&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음 Norm은 Layer Nomalization을 뜻한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Layer Normalization은 각 feature vector를 정규화한다. (Batch Normalization에서는 각 feature를 정규화)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;1) $\mu=0, \sigma^2=1$&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;우리가 잘 알고 있는 정규화 방식이다. vector의 평균과 분산을 구해 정규화를 수행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$\hat{x_i} = \dfrac{x_i - \mu}{\sqrt{\sigma^2}}$&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정규화를 수행하는 이유는&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt; 초기 입력이 정규분포더라도 hidden layer를 지나면서 분포가 점점 정규화를 벗어나 Gradient Vanishing 문제를 야기할 수 있기 때문에 이를 방지하고자 정규화를 수행&lt;/b&gt;&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;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;2) $\gamma, \beta$&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) 번 방식으로 정규화를 수행한 후 $\gamma$와 $\beta$를 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$Norm(x_i) = \gamma\hat{x_i} + \beta$&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;$\gamma=1, \beta=0$의 초기화 값을 가지며 모두 학습 가능한 변수이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) 번 방식으로 &lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;계속해서 정규화를 수행하면 데이터가 비선형 성질을 잃게 되어 이를 방지하고자 2) 번 방식을 수행&lt;/b&gt;&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;3. Position-wise FFNN(Feed Forward Neural Network)&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1935&quot; data-origin-height=&quot;895&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh9vtY/btrB8Rmgw10/CmYOXZwiv6PMRRTchkTm50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh9vtY/btrB8Rmgw10/CmYOXZwiv6PMRRTchkTm50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh9vtY/btrB8Rmgw10/CmYOXZwiv6PMRRTchkTm50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh9vtY%2FbtrB8Rmgw10%2FCmYOXZwiv6PMRRTchkTm50%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;750&quot; height=&quot;347&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1935&quot; data-origin-height=&quot;895&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째 층인 Add&amp;amp;Norm을 통과하면 FFNN층을 통과하게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그림으로 표현하긴 했지만 더 &lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;쉽게 설명하자면 Dense Layer를 두 개 쌓은 것&lt;/span&gt;&lt;/b&gt;이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최종 Layer는 input과 output차원이 동일하도록 d_model 수만큼의 unit을 설정한다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. Add &amp;amp; Norm&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.Add &amp;amp; Norm과 같은 과정이므로 생략&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;style5&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;이러한 아키텍처를 가진 BERT가 어떠한 방식으로 모델을 학습시켰는지도 해당 포스터에 같이 적으려고 했는데..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;귀찮다.........&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MLM 내용 5줄 적고 일주일째 미루고 있어서 일단 아키텍처 부분만 업로드하는 걸로...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/NLP</category>
      <category>Bert</category>
      <category>bert architecture</category>
      <category>multi head self attention</category>
      <category>transformer</category>
      <category>transformer encoder</category>
      <category>버트</category>
      <category>버트 아키텍처</category>
      <category>버트구조</category>
      <category>셀프어텐션</category>
      <category>자연어처리</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/31</guid>
      <comments>https://eatchu.tistory.com/entry/BERT-Architecture-Transformer-Encoder#entry31comment</comments>
      <pubDate>Wed, 25 May 2022 11:35:54 +0900</pubDate>
    </item>
    <item>
      <title>[Paper] Detection and Segmentation of Manufacturing Defects with Convolutional Neural Networks and Transfer Learning</title>
      <link>https://eatchu.tistory.com/entry/Paper-Detection-and-Segmentation-of-Manufacturing-Defects-with-Convolutional-Neural-Networks-and-Transfer-Learning</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;[Paper] &lt;br /&gt;&lt;a href=&quot;https://arxiv.org/pdf/1808.02518.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Detection and Segmentation of Manufacturing Defects &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://arxiv.org/pdf/1808.02518.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;with Convolutional Neural Networks and Transfer Learning&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&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;사실 이미지 관련, 특히 object detection은 내가 해오던 분야가 아니라 지식이 많이 부족한편이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근에 회사에서 object detection에 관한 과제가 생겼고.. 또 하필 세미나를 내가 맡아서 여기저기 찔러보는 공부 중&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트팩토리를 메인으로 제조 기반의 Detection을 수행하게 되어 casting detection을 수행하는 해당 논문을 읽어보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;Introduction&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;일반적인 주조 결함에는&lt;/span&gt;&lt;span&gt; air holes, foreign particle inclusions, shrinkage cavities, cracks, wrinkles, casting fins &lt;/span&gt;&lt;span&gt;등이 있다&lt;/span&gt;&lt;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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;435&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2nBC1/btrtRXaha4z/Mrvi72gp6FMiK8aVXUcpzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2nBC1/btrtRXaha4z/Mrvi72gp6FMiK8aVXUcpzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2nBC1/btrtRXaha4z/Mrvi72gp6FMiK8aVXUcpzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2nBC1%2FbtrtRXaha4z%2FMrvi72gp6FMiK8aVXUcpzk%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;546&quot; height=&quot;435&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;435&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;Defect detection process는 objecct detection과 instance segmentation으로 구성된다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100.845%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.9914%;&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span&gt;Object Detection&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 75.854%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;To place a tight-fitting bounding box around each defect in the image&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;이미지 속 결함 부분에 알맞은&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;bounding box&lt;/span&gt;&lt;span&gt;를 배치하는 것&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;말 그대로 사물을 감지하여 표시를 해주는 것&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.9914%;&quot;&gt;&lt;b&gt;&lt;span&gt;Image Segmentation&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 75.854%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;One of pixel classification. To classify each image pixel as a defect or not&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;픽셀 분류 중 하나이며&lt;/span&gt;&lt;span&gt;, object detection&lt;/span&gt;&lt;span&gt;에서 감지된&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;bounding box&lt;/span&gt;&lt;span&gt;가&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;anomaly&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;인지 아닌지를 분류하는 것&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.9914%;&quot;&gt;&lt;b&gt;&lt;span&gt;Instance Segmentation&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 75.854%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;Each segmentated pixel must be assigned to a particular casting defect&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;분할된 픽셀이 우리가 찾고자하는 특정&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;anomaly&lt;/span&gt;&lt;span&gt;&lt;span&gt;에 알맞게 할당되어야 하는것&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;Related Works&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;선행연구&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;Background Substraction : &lt;/span&gt;&lt;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;&lt;span&gt;MODAN(modified median)-Filter : &lt;/span&gt;&lt;span&gt;조정된 중앙값 필터로 결함으로 보이는 부분의 구조적 윤곽을 구별함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Wavelet : &lt;/span&gt;&lt;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;&lt;span&gt;결론&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;이러한 기술들은 이미지의&lt;/span&gt;&lt;span&gt; local&lt;/span&gt;&lt;span&gt;과&lt;/span&gt;&lt;span&gt; global &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;size16&quot;&gt;&lt;b&gt;최근기술&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;Faster Region-Based CNN (Faster R-CNN) : &lt;/span&gt;&lt;span&gt;정확도 우선&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Single Shot Multibos Detector (SSD) : &lt;/span&gt;&lt;span&gt;속도 우선&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Mask R-CNN (Extended Faster R-CNN) : detection&lt;/span&gt;&lt;span&gt;과&lt;/span&gt;&lt;span&gt; segmentation&lt;/span&gt;&lt;span&gt;을 동시 수행&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot; data-contrast=&quot;none&quot;&gt;Convolutional Neural Networks&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #4472c4;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:6,&amp;quot;335551620&amp;quot;:6,&amp;quot;335559685&amp;quot;:426,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259,&amp;quot;335559991&amp;quot;:284}&quot;&gt; &lt;/span&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;1. Residual Network&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; font-size: 16px; letter-spacing: 0px;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt; (&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; font-size: 16px; letter-spacing: 0px;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;ResNet&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; font-size: 16px; letter-spacing: 0px;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; font-size: 16px; letter-spacing: 0px;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:6,&amp;quot;335551620&amp;quot;:6,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259,&amp;quot;335559795&amp;quot;:0,&amp;quot;335559797&amp;quot;:0}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;1&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;1001 layer &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;사용&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;2&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;Skip Connection&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;3&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;Residual &lt;/span&gt;&lt;span&gt;Mapping :&lt;/span&gt;&lt;span&gt; Weight layer&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; f(x)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;와&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; weight layer&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; x&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;4&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;Overfitting, Vanishing Gradient &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;5&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;Residual Block&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; Residual network&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-contrast=&quot;auto&quot;&gt;&lt;/span&gt;&lt;b&gt;&lt;span data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240}&quot;&gt;&amp;nbsp;2. &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;VGG Net &lt;/span&gt;&lt;span data-ccp-parastyle=&quot;heading 3&quot;&gt;(VGG16)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:6,&amp;quot;335551620&amp;quot;:6,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259,&amp;quot;335559795&amp;quot;:0,&amp;quot;335559797&amp;quot;:0}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;1&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;목적은&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; 5x5 &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; 3x3 &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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;span&gt; &lt;/span&gt;&lt;span&gt;것이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;낫다는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;개념을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사용&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;더&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;적은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;커널&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;필터로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;레이어를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;여러&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;번&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;두었을때&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가중치의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;적어져&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;기울기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;소실문제를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;해결할&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;비선형&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;문제를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;좀&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;더&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;잘&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;해결할&lt;/span&gt;&lt;span&gt; &lt;/span&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: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;2&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt; kernel = 3x3, stride = 1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-leveltext=&quot;&quot; data-font=&quot;Symbol&quot; data-listid=&quot;2&quot; data-aria-posinset=&quot;3&quot; data-aria-level=&quot;1&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&quot;&gt;&lt;span&gt;ReLU&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;none&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 style=&quot;color: #000000;&quot; data-ccp-props=&quot;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:1520,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240,&amp;quot;335559795&amp;quot;:580,&amp;quot;469777462&amp;quot;:[720,1520,1701],&amp;quot;469777927&amp;quot;:[0,0,0],&amp;quot;469777928&amp;quot;:[0,8,8]}&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;Defect Detection System&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Mask R-CNN 구조의 4가지 모듈&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;Feature Extraction : input image&lt;/span&gt;&lt;span&gt;의&lt;/span&gt;&lt;span&gt; high-level &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;&lt;span style=&quot;color: #c00000;&quot;&gt;Region Proposal Network(RPN)&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt;특징화된&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt;이미지에서&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt; Regions of Interest(RoIs)&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt;제안하는&lt;/span&gt;&lt;span style=&quot;color: #595959;&quot;&gt; CNN&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;각&lt;/span&gt;&lt;span&gt; RoIs&lt;/span&gt;&lt;span&gt;에서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;분류하는&lt;/span&gt;&lt;span&gt; CNN&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Image Segmentation&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KiAhd/btrtYcxiC3D/Z5HPvoktmHAp7RIYlJiKh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KiAhd/btrtYcxiC3D/Z5HPvoktmHAp7RIYlJiKh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KiAhd/btrtYcxiC3D/Z5HPvoktmHAp7RIYlJiKh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKiAhd%2FbtrtYcxiC3D%2FZ5HPvoktmHAp7RIYlJiKh1%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;607&quot; height=&quot;344&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;360&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;2. Regions Proposal Network (RPN)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;모든&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;크기의&lt;/span&gt;&lt;span&gt; feature map&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt; input&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;받아&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사각형의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체&lt;/span&gt;&lt;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;&lt;span&gt;각&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;영역에는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;포함될&lt;/span&gt;&lt;span&gt; likelihood score&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;&lt;span&gt;Input&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt; ResNet &lt;/span&gt;&lt;span&gt;레이어의&lt;/span&gt;&lt;span&gt; feature map&lt;/span&gt;&lt;span&gt;의&lt;/span&gt;&lt;span&gt; n x n window size&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;&lt;span&gt;Output&lt;/span&gt;&lt;span&gt;은&lt;/span&gt;&lt;span&gt; Bounding box&lt;/span&gt;&lt;span&gt;의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;좌표와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;현재&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;슬라이딩&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;위치에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가능성을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;설명하는&lt;/span&gt;&lt;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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Anchor Boxes&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;다양한&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;크기의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;bounding box&lt;/span&gt;를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;생성하기&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;위해&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;각&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;feature map&lt;/span&gt;의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;grid&lt;/span&gt;에&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;scale x ratio&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;만큼의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;박스&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;수의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;bounding box&lt;/span&gt;를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;생성함&lt;br /&gt;&lt;/span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;현재&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;논문에서는&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;3 scale 5 ratio&lt;/span&gt;를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;사용하여&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;15 anchor box&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Architecture&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;RPN에서&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;feature map&lt;/span&gt;은&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;box regression(4d)&lt;/span&gt;과&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;object classification(2d)&lt;/span&gt;으로&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;분리가&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;되며&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;각각&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;bounding box&lt;/span&gt;의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;좌표와&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;class score&lt;/span&gt;를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;산출&lt;span&gt;&lt;br /&gt;&lt;/span&gt;각&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;grid&lt;/span&gt;에서&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;class score&lt;/span&gt;에&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;따라&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;상위&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;n&lt;/span&gt;개의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;anchor box&lt;/span&gt;가&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;선택됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Training&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;선택된&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;anchor box&lt;/span&gt;와&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;ground truth box(&lt;/span&gt;라벨링된&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;객체가&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;존재하는&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;실제값)를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;input&lt;/span&gt;으로&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;받아&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;IoU&lt;/span&gt;값을&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;구하여&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;0.7&lt;/span&gt;이상은&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1(&lt;/span&gt;객체존재), 0.3이하는&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;0(&lt;/span&gt;객체존재x)값을&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Transfer Learning&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;전이학습은&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;한&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;경에서&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;학습된&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;정보를&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;이용하여&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;다른&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;환경에서&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;일반화하는&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;학습&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;기법으로&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;이&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;학습으로&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;제한된&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;도메인&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;작업에&lt;span&gt;&lt;span&gt;&amp;nbsp;&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;&lt;b&gt;Implementation Details and Experimental Results&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fast R-CNN과 Mask R-CNN을 활용한 object detection network 구현.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Pre-trained된 CNN을 활용하여 GDXray dataset으로 평가를 진행.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 사이즈는 256 x 256 ~ 768 x 572로 구성.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;Training&lt;br /&gt;1) Preprocessing data&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- Adjust Image size : 768 x 768&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- Randomly flipped horizontally and vertically &lt;br /&gt;2) Transfer Learning&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- Feature Extractor : ImageNet&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- Defect detection : COCO (8&lt;/span&gt;&lt;span&gt;개의&lt;/span&gt;&lt;span&gt; NVIDIA K80 GPU &lt;/span&gt;&lt;span&gt;사용&lt;/span&gt;&lt;span&gt;)&lt;br /&gt;3) Hyper Parameter &lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- mini batch : 2 images&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 100 sampled RoIs&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 1 : 3 positive to negatives&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- IoU threshold : 0.5&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- Training GDXray with 80 epochs + 80 epochs&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Study/CNN</category>
      <category>casting defect</category>
      <category>casting detection</category>
      <category>gdxray</category>
      <category>Mask R-CNN</category>
      <category>Object detection</category>
      <category>논문리뷰</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/30</guid>
      <comments>https://eatchu.tistory.com/entry/Paper-Detection-and-Segmentation-of-Manufacturing-Defects-with-Convolutional-Neural-Networks-and-Transfer-Learning#entry30comment</comments>
      <pubDate>Fri, 6 May 2022 12:30:41 +0900</pubDate>
    </item>
    <item>
      <title>Fast R-CNN 이론 노트 정리</title>
      <link>https://eatchu.tistory.com/entry/Fast-R-CNN-%EC%9D%B4%EB%A1%A0-%EB%85%B8%ED%8A%B8-%EC%A0%95%EB%A6%AC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fast R-CNN을 간단하게 구현해야할 과제가 있어 급하게 공부해본 이론&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지처리 지식이 CNN 기본알고리즘에서 끝나버린지 오래라 요번에 알아보면서 참 새로운 방법론들이 많이 나왔구나 했다.&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;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span&gt;참고 논문 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://arxiv.org/pdf/1506.01497.pdf%20&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-contrast=&quot;auto&quot;&gt;&lt;span&gt;Faster&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;R-CNN:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Towards&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Real&lt;/span&gt;&lt;span&gt;-Time&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Object&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Detection&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Region&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Proposal&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Networks&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 블로그 : &lt;a href=&quot;https://herbwood.tistory.com/10?category=856250%20&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Faster R-CNN 논문(Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks) 리뷰&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CNN Algorithm-3.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oKOIj/btrBhRBdzdt/zibq7oghIE6RwW0ITKE5Ck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oKOIj/btrBhRBdzdt/zibq7oghIE6RwW0ITKE5Ck/img.jpg&quot; data-alt=&quot;Object Detection&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oKOIj/btrBhRBdzdt/zibq7oghIE6RwW0ITKE5Ck/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoKOIj%2FbtrBhRBdzdt%2Fzibq7oghIE6RwW0ITKE5Ck%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;650&quot; height=&quot;839&quot; data-filename=&quot;CNN Algorithm-3.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Object Detection&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CNN Algorithm-4.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bluhk8/btrBiIcsmKY/OUTQKnLVw8git3xVbdiBTK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bluhk8/btrBiIcsmKY/OUTQKnLVw8git3xVbdiBTK/img.jpg&quot; data-alt=&quot;Anchor Box&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bluhk8/btrBiIcsmKY/OUTQKnLVw8git3xVbdiBTK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbluhk8%2FbtrBiIcsmKY%2FOUTQKnLVw8git3xVbdiBTK%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;650&quot; height=&quot;2154&quot; data-filename=&quot;CNN Algorithm-4.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Anchor Box&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CNN Algorithm-5.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btZaws/btrBiaN3IaN/u5erSRCZpkKW4BKWTBWG0k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btZaws/btrBiaN3IaN/u5erSRCZpkKW4BKWTBWG0k/img.jpg&quot; data-alt=&quot;RPN / loss&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btZaws/btrBiaN3IaN/u5erSRCZpkKW4BKWTBWG0k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtZaws%2FbtrBiaN3IaN%2Fu5erSRCZpkKW4BKWTBWG0k%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;650&quot; height=&quot;2154&quot; data-filename=&quot;CNN Algorithm-5.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RPN / loss&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CNN Algorithm-6.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjOsP/btrBiqpu8xJ/qWs2FSTgZo7rxAfCjgFJYk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjOsP/btrBiqpu8xJ/qWs2FSTgZo7rxAfCjgFJYk/img.jpg&quot; data-alt=&quot;Training process&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjOsP/btrBiqpu8xJ/qWs2FSTgZo7rxAfCjgFJYk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjOsP%2FbtrBiqpu8xJ%2FqWs2FSTgZo7rxAfCjgFJYk%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;650&quot; height=&quot;2154&quot; data-filename=&quot;CNN Algorithm-6.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;2154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Training process&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Study/CNN</category>
      <category>anchor box</category>
      <category>CNN</category>
      <category>Fast R-CNN</category>
      <category>Instance Segmentation</category>
      <category>Object detection</category>
      <category>RPN</category>
      <category>segment</category>
      <category>이미지처리</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/29</guid>
      <comments>https://eatchu.tistory.com/entry/Fast-R-CNN-%EC%9D%B4%EB%A1%A0-%EB%85%B8%ED%8A%B8-%EC%A0%95%EB%A6%AC#entry29comment</comments>
      <pubDate>Thu, 5 May 2022 16:21:15 +0900</pubDate>
    </item>
    <item>
      <title>Mac에서 가상환경 설치하고 window 사용하기</title>
      <link>https://eatchu.tistory.com/entry/Mac%EC%97%90%EC%84%9C-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-window-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Mac에서&amp;nbsp;가상환경&amp;nbsp;설치하고&amp;nbsp;window&amp;nbsp;사용하기&lt;/span&gt;&lt;/blockquote&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;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Mac&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&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;출근할땐 윈도우를 사용하고 재택할때 맥북을 쓰는데 ppt, word, excel 작업할 일이 많아서 꽤 불편했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금까지는 웹으로 접속해서 office를 사용했는데 하다보니 성질머리가 드러워지는 것 같아서 가상환경 설치하고 윈도우를 사용하는 방법으로 바꿨다...&lt;/span&gt;&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;먼저 윈도우 사용하는 방법은 아래와 같이 있다.&lt;/span&gt;&lt;span style=&quot;color: #000000; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Mac에서&amp;nbsp;윈도우를&amp;nbsp;사용하는&amp;nbsp;방법]&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Bootcamp&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Parallels&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vmware&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffff00; color: #000000;&quot;&gt;Virtualbox&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비용&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&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&gt;&lt;/td&gt;
&lt;td&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&gt;&lt;/td&gt;
&lt;td&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&gt;&lt;/td&gt;
&lt;td&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&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;장점&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/td&gt;
&lt;td colspan=&quot;3&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단점&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;br /&gt;
&lt;div&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;&amp;nbsp;&lt;/span&gt;OS&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;M1&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td colspan=&quot;3&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;br /&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비용적인&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;Virtualbox&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; 추천하기 때문에 Virtualbox를 설치하는 방법을 사용했다.&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&gt;여기서 상세하게 내용을 적진 않고 내가 참고한 링크를 순서대로 걸려고 한다.&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;1. Mac에서 Virtualbox 설치하기&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&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&gt;- 클릭하나하나 정말 상세하게 알려준다.&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&gt;&lt;a href=&quot;https://welcome1208.tistory.com/3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://welcome1208.tistory.com/3&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1651331939598&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;맥 OS X에 VirtualBox 설치하기&quot; data-og-description=&quot;안녕하세요 류똥구입니다. 저는&amp;nbsp;14년도에 구매한 맥미니를&amp;nbsp;아직까지도&amp;nbsp;메인 컴퓨터로 사용하고 있습니다. 집에서 컴퓨터를 켤 일이 많이 없긴 하지만 5년동안 잘 쓰고 있습니다. 그냥 인터넷&quot; data-og-host=&quot;welcome1208.tistory.com&quot; data-og-source-url=&quot;https://welcome1208.tistory.com/3&quot; data-og-url=&quot;https://welcome1208.tistory.com/3&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/biLcr3/hyOdr9sblx/v7MXPseHnjnxgFKu6h2vB1/img.png?width=800&amp;amp;height=468&amp;amp;face=0_0_800_468,https://scrap.kakaocdn.net/dn/n2bYi/hyOdvDVOEp/EcKCqqYBJ0FtKuIk39C5uk/img.png?width=800&amp;amp;height=468&amp;amp;face=0_0_800_468,https://scrap.kakaocdn.net/dn/fpjws/hyOdrIrpQo/Y4KRESpnf8OFGvY09zcC3k/img.png?width=1312&amp;amp;height=769&amp;amp;face=0_0_1312_769&quot;&gt;&lt;a href=&quot;https://welcome1208.tistory.com/3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://welcome1208.tistory.com/3&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/biLcr3/hyOdr9sblx/v7MXPseHnjnxgFKu6h2vB1/img.png?width=800&amp;amp;height=468&amp;amp;face=0_0_800_468,https://scrap.kakaocdn.net/dn/n2bYi/hyOdvDVOEp/EcKCqqYBJ0FtKuIk39C5uk/img.png?width=800&amp;amp;height=468&amp;amp;face=0_0_800_468,https://scrap.kakaocdn.net/dn/fpjws/hyOdrIrpQo/Y4KRESpnf8OFGvY09zcC3k/img.png?width=1312&amp;amp;height=769&amp;amp;face=0_0_1312_769');&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;맥 OS X에 VirtualBox 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 류똥구입니다. 저는&amp;nbsp;14년도에 구매한 맥미니를&amp;nbsp;아직까지도&amp;nbsp;메인 컴퓨터로 사용하고 있습니다. 집에서 컴퓨터를 켤 일이 많이 없긴 하지만 5년동안 잘 쓰고 있습니다. 그냥 인터넷&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;welcome1208.tistory.com&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;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;2. 윈도우 다운로드하여 &lt;span style=&quot;color: #000000;&quot;&gt;Virtualbox에 설치하기&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&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://welcome1208.tistory.com/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://welcome1208.tistory.com/5&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1651331989664&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;MacOS에서 VirtualBox로 Windows10 VM 만들기&quot; data-og-description=&quot;안녕하세요 류똥구입니다. 지난번에 맥에 VirtualBox를 설치를 했었는데요. 이번에는 VirtualBox로 Windows10을 설치하는 방법에 대해서 포스팅하겠습니다. 부지런히 포스팅을 해야는데, 스크린샷만 열&quot; data-og-host=&quot;welcome1208.tistory.com&quot; data-og-source-url=&quot;https://welcome1208.tistory.com/5&quot; data-og-url=&quot;https://welcome1208.tistory.com/5&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fO7fw/hyOdE1X0VU/KYwpKYwiOyYE1e0ji7xdck/img.png?width=800&amp;amp;height=567&amp;amp;face=0_0_800_567,https://scrap.kakaocdn.net/dn/ceh2fh/hyOdruXo7M/1DufDouFFFOqiLynC9sk7k/img.png?width=800&amp;amp;height=567&amp;amp;face=0_0_800_567,https://scrap.kakaocdn.net/dn/0aJee/hyOdsmZnpg/ETT1KAwm8e1VsHKYj0fq90/img.png?width=1324&amp;amp;height=940&amp;amp;face=0_0_1324_940&quot;&gt;&lt;a href=&quot;https://welcome1208.tistory.com/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://welcome1208.tistory.com/5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fO7fw/hyOdE1X0VU/KYwpKYwiOyYE1e0ji7xdck/img.png?width=800&amp;amp;height=567&amp;amp;face=0_0_800_567,https://scrap.kakaocdn.net/dn/ceh2fh/hyOdruXo7M/1DufDouFFFOqiLynC9sk7k/img.png?width=800&amp;amp;height=567&amp;amp;face=0_0_800_567,https://scrap.kakaocdn.net/dn/0aJee/hyOdsmZnpg/ETT1KAwm8e1VsHKYj0fq90/img.png?width=1324&amp;amp;height=940&amp;amp;face=0_0_1324_940');&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;MacOS에서 VirtualBox로 Windows10 VM 만들기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 류똥구입니다. 지난번에 맥에 VirtualBox를 설치를 했었는데요. 이번에는 VirtualBox로 Windows10을 설치하는 방법에 대해서 포스팅하겠습니다. 부지런히 포스팅을 해야는데, 스크린샷만 열&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;welcome1208.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[Windows 10 ISO&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파일&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;MS&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;공홈에서&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다운받기&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://www.microsoft.com/ko-kr/software-download/windows10#34de222e-6944-44aa-8f45-8e96988880a4&quot;&gt;https://www.microsoft.com/ko-kr/software-download/windows10#34de222e-6944-44aa-8f45-8e96988880a4&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&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;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;x_Signature&quot;&gt;
&lt;div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[Windows 10&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요약&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Mac에서&amp;nbsp;Virtualbox&amp;nbsp;설치&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. Windows 10 ISO&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다운로드&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. Virtualbox&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;&amp;nbsp;&lt;/span&gt;VM&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;세팅&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&amp;nbsp; -&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메모리&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, CPU&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;할당&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;4.&amp;nbsp;Windows 10 ISO&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가상&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CD&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;VM&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;Windows&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;5. Windows&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;Virtualbox&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;6. Windwos&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&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&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Windows 10&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;있고&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;(MS&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;-&amp;nbsp;&lt;a href=&quot;https://www.samsungsvc.co.kr/solution/25201&quot;&gt;https://www.samsungsvc.co.kr/solution/25201&lt;/a&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&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[Windowns 10&amp;nbsp;임시&amp;nbsp;라이선스&amp;nbsp;활성화]&lt;br /&gt;-&amp;nbsp;방법&amp;nbsp;:&amp;nbsp;&lt;a href=&quot;https://dora-guide.com/windows-activate/&quot;&gt;https://dora-guide.com/windows-activate/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;필요&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&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;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기본&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;맥&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;os&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단축키&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + Z&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + C&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + V&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + X&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + A&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + option + A&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + F&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + N&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + S&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + shift + S&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + P&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스크린샷&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단축키&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + shift + 3&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + shift +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스페이스바&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + shift + 4&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;윈도우&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;맥&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;os&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단축키&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp;새&amp;nbsp;탭&amp;nbsp;열기&amp;nbsp;: command + T&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + M&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + W&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + option + W&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + option + esc&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;시스템&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;맥&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;os&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단축키&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: &amp;nbsp;command + control + (&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;&amp;nbsp;&lt;/span&gt;/&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + option + (&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;&amp;nbsp;&lt;/span&gt;/&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + option + control + (&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;&amp;nbsp;&lt;/span&gt;/&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + control +&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;추출&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&gt;: command + control +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전원&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Windows 10 VM&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&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&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://extrememanual.net/35625&quot; data-auth=&quot;NotApplicable&quot; data-linkindex=&quot;6&quot;&gt;Snapshot&lt;/a&gt;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/span&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;&amp;nbsp;같다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Eatchu space/삽질기록</category>
      <category>Mac에서 office 사용</category>
      <category>Mac에서 office 사용하는법</category>
      <category>Mac에서 윈도우 사용</category>
      <category>VirtualBox</category>
      <category>가상환경 윈도우</category>
      <category>가상환경설치</category>
      <category>맥북 가상환경 설치</category>
      <category>맥북 윈도우 설치</category>
      <category>맥북가상환경</category>
      <category>맥북윈도우사용</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/28</guid>
      <comments>https://eatchu.tistory.com/entry/Mac%EC%97%90%EC%84%9C-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-window-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0#entry28comment</comments>
      <pubDate>Sun, 1 May 2022 00:25:14 +0900</pubDate>
    </item>
    <item>
      <title>[NLP] Word2Vec : Skip-gram, SGNS(Skip-gram with Negative Sampling)</title>
      <link>https://eatchu.tistory.com/entry/NLP-Word2Vec-Skip-gram-SGNSSkip-gram-with-Negative-Sampling</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Word2Vec의 학습방식을 공부하고 남기는 노트 자료입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상세한 설명은 &lt;a href=&quot;https://wikidocs.net/22660&quot;&gt;[WikiDocs]딥 러닝을 이용한 자연어 처리 입문&amp;nbsp;&lt;/a&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;먼저 CBOW(Continuous Bag of Words)의 구조는 넣지 않았습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Skip-gram을 이해하면 쉽게 이해할 수 있는 구조입니다.&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;skip-gram.JPG&quot; data-origin-width=&quot;1679&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bM0zuk/btrzYTsaUPb/kyxagOg8DkcJjIwsNcaXX1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bM0zuk/btrzYTsaUPb/kyxagOg8DkcJjIwsNcaXX1/img.jpg&quot; data-alt=&quot;skip-gram&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bM0zuk/btrzYTsaUPb/kyxagOg8DkcJjIwsNcaXX1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbM0zuk%2FbtrzYTsaUPb%2FkyxagOg8DkcJjIwsNcaXX1%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;1679&quot; height=&quot;1000&quot; data-filename=&quot;skip-gram.JPG&quot; data-origin-width=&quot;1679&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;skip-gram&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;sgns.JPG&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj3yNB/btrzYFufL32/QGOMTIFLfhr652LZciYjF0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj3yNB/btrzYFufL32/QGOMTIFLfhr652LZciYjF0/img.jpg&quot; data-alt=&quot;SGNS&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj3yNB/btrzYFufL32/QGOMTIFLfhr652LZciYjF0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj3yNB%2FbtrzYFufL32%2FQGOMTIFLfhr652LZciYjF0%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;1500&quot; height=&quot;1000&quot; data-filename=&quot;sgns.JPG&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SGNS&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;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;background-color: #f6e199;&quot;&gt;&lt;b&gt;학습방식을 사전에 충분히 숙지한 뒤 나중에 참고용으로 보면 좋을 것&lt;/b&gt;&lt;/span&gt; 같습니다.(는 내 얘기)&lt;/p&gt;</description>
      <category>Study/NLP</category>
      <category>negative sampling</category>
      <category>NLP</category>
      <category>SGNS</category>
      <category>sgns 구조</category>
      <category>skip-gram</category>
      <category>skip-gram 구조</category>
      <category>word2vec</category>
      <category>네거티브샘플링</category>
      <category>워드투벡터</category>
      <category>자연어처리</category>
      <author>eatchu</author>
      <guid isPermaLink="true">https://eatchu.tistory.com/27</guid>
      <comments>https://eatchu.tistory.com/entry/NLP-Word2Vec-Skip-gram-SGNSSkip-gram-with-Negative-Sampling#entry27comment</comments>
      <pubDate>Wed, 20 Apr 2022 19:35:41 +0900</pubDate>
    </item>
  </channel>
</rss>