<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>YBIGTA on Jiho Kim</title><link>https://blog.wlgh7407.com/posts/study/ybigta/</link><description>Recent content in YBIGTA on Jiho Kim</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Jiho Kim</copyright><lastBuildDate>Fri, 23 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.wlgh7407.com/posts/study/ybigta/index.xml" rel="self" type="application/rss+xml"/><item><title>YBIGTA CV</title><link>https://blog.wlgh7407.com/posts/study/ybigta/260123_til_ybigta-cv/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.wlgh7407.com/posts/study/ybigta/260123_til_ybigta-cv/</guid><description>&lt;h2 class="relative group"&gt;📝 상세 정리
 &lt;div id="-상세-정리" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-%ec%83%81%ec%84%b8-%ec%a0%95%eb%a6%ac" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h4 class="relative group"&gt;딥러닝 이전의 CV
 &lt;div id="딥러닝-이전의-cv" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%eb%94%a5%eb%9f%ac%eb%8b%9d-%ec%9d%b4%ec%a0%84%ec%9d%98-cv" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;컴퓨터는 단순히 픽셀 값만을 알고 있는데
&lt;ul&gt;
&lt;li&gt;컴퓨터 비전 태스크를 위해선 이를 의미있는 정보로 이해해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;좋은 Visual feature이란 무엇일까?
&lt;ul&gt;
&lt;li&gt;조명이 달라지더라도 같은 인물로 인식할 수 있어야 하고&lt;/li&gt;
&lt;li&gt;시점이 다르더라도 같은 건물로 인식할 수 있어야 하고&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사람이 특징을 직접 설계!
&lt;ul&gt;
&lt;li&gt;중요한 특징을 수학적으로 잡아서 파노라마로 만들던가, 키포인트로 매핑해서 3D 복원을 한다던가&amp;hellip;&lt;/li&gt;
&lt;li&gt;결국 목표는 좋은 Visual Feature을 찾는 것&lt;/li&gt;
&lt;li&gt;edge, corner&lt;/li&gt;
&lt;li&gt;Harris corner detector
&lt;ul&gt;
&lt;li&gt;평평한 부분은 x, y 변화가 크지 않지만, 코너는 x, y 변화가 크다
&lt;ul&gt;
&lt;li&gt;미분을 이용해서 변화가 큰 지점을 잡아내자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;filter
&lt;ul&gt;
&lt;li&gt;여러가지 필터를 통해서 x방향, y방향의 변화를 찾을 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방법 (중요한건 아닌뎅)
&lt;ul&gt;
&lt;li&gt;이미지 기울기 계산&lt;/li&gt;
&lt;li&gt;공분산 행렬 생성&lt;/li&gt;
&lt;li&gt;고윳값이 임계점 이상인 부번을 코너로&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;같은 이미지여도 크기에 따라 corner / edge 가 달라질 수 있다.
&lt;ul&gt;
&lt;li&gt;여러 크기에서 진행하면 되기야 하겠다만&amp;hellip;. 번거롭다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;SIFT
&lt;ul&gt;
&lt;li&gt;Scale Invariant Feature Transform&lt;/li&gt;
&lt;li&gt;벡터로 이케저케 한다는디&lt;/li&gt;
&lt;li&gt;조금 더 강건한 피쳐까진 됐는데, 각자가 왜 그런지 이유는 말을 못했다는듯?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;CNN
 &lt;div id="cnn" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cnn" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;특징 추출 (Convolution) -&amp;gt; 요약 (Pooling) -&amp;gt; 판단 (FC)&lt;/li&gt;
&lt;li&gt;1차로 간단한 필터를 씌우고, 점점 고도화시킨다.&lt;/li&gt;
&lt;li&gt;inductive bias
&lt;ul&gt;
&lt;li&gt;모델이 학습을 시작하기도 전에 미리 가지고 있는 가정
&lt;ul&gt;
&lt;li&gt;모델이 더 빠르게 학습되고, 더 강건하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Locality
&lt;ul&gt;
&lt;li&gt;서로 가까이 있는 픽셀들은 더 강한 연관성을 갖는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Translation invariance
&lt;ul&gt;
&lt;li&gt;이미지 속 객체의 위치가 변하더라도 본질은 변하지 않는다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;convolution
&lt;ul&gt;
&lt;li&gt;아까부터 계속 곱하고있는 필터!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;padding
&lt;ul&gt;
&lt;li&gt;feature map이 점점 작아지지 않게 가장자리에 0같은걸 두르기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;stride
&lt;ul&gt;
&lt;li&gt;필터가 한번에 몇칸씩 이동하는지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;pooling
&lt;ul&gt;
&lt;li&gt;압축하듯이, 영역에서 가장 큰 값을 남기거나 (max pooling) 평균값을 남기거나 (aver pooling)&lt;/li&gt;
&lt;li&gt;작은 변화 무시&lt;/li&gt;
&lt;li&gt;receptive field 확대&lt;/li&gt;
&lt;li&gt;연산량 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;hierarchial structure (계층적 구조)
&lt;ul&gt;
&lt;li&gt;점점 receptive field와 채널 수를 늘려 복잡한 feature&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;VIT
 &lt;div id="vit" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#vit" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Transformer 기반 이미지 인식 모델
&lt;ul&gt;
&lt;li&gt;이미지를 필터로 보는게 아니라, 잘라서 각 patch로 보고, 이를 벡터로 임베딩시키는 것&lt;/li&gt;
&lt;li&gt;학습에 훨씬더 많은 데이터를 필요로 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Step 1: 이미지 분할
&lt;ul&gt;
&lt;li&gt;$H*W*C$를 $P*P$ 크기의 격자로 분할하여 $\frac{HW}{P^2}$개의 패치 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Step 2: 이후 각 패치를 평탄화 후 선형 임베딩 $E \in R^{(P^2 \cdot C)*D}$&lt;/li&gt;
&lt;li&gt;Step 3: Transformer Encoder (핵심 연산)
&lt;ul&gt;
&lt;li&gt;Cls 토큰을 포함한 시퀀스를 인코더에 넣어서 연산하기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;Downstream tasks
 &lt;div id="downstream-tasks" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#downstream-tasks" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;층이 깊어질수록 정확도가 떨어지는 문제가 있었다&lt;/li&gt;
&lt;li&gt;ResNet
&lt;ul&gt;
&lt;li&gt;Skip connection
&lt;ul&gt;
&lt;li&gt;$H(x) = F(x) + x$로 정의하여, $H(x) - x$ (잔차)를 학습&lt;/li&gt;
&lt;li&gt;깊은 네트워크를 학습해도 되게 되었다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;basic block vs bottleneck block
&lt;ul&gt;
&lt;li&gt;basick block
&lt;ul&gt;
&lt;li&gt;3x3 convolution과 relu&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;bottleneck block
&lt;ul&gt;
&lt;li&gt;여러가지 크기의 convolution들&lt;/li&gt;
&lt;li&gt;압축하고.. 큰걸 먹이고.. 등등&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ResNet34 구조
&lt;ul&gt;
&lt;li&gt;해상도는 줄이면서 점점 두꺼워지는 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;YOLO
&lt;ul&gt;
&lt;li&gt;Object Detection을 하는 모델&lt;/li&gt;
&lt;li&gt;출력은 위치 / 객체가 무엇인지 / 있을 확률 세가지를 나타냄&lt;/li&gt;
&lt;li&gt;과거에는 후보지역을 찾아낸 후, CNN으로 뭐가 있는지 후처리를 하였는데 YOLO는 한번에 된다!
&lt;ul&gt;
&lt;li&gt;You Only Live Once&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;24개의 convolutional layer에서 이미지의 특징을 추출하고, 이를 2개의 FC 레이어에 넣어서 클래스와 위치를 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Unet
&lt;ul&gt;
&lt;li&gt;Segmentation을 하는 모델
&lt;ul&gt;
&lt;li&gt;고양이가 있는 픽셀은 여기다! 라고 하며 mask를 출력하는 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;U자처럼 생겨서 Unet&lt;/li&gt;
&lt;li&gt;Decoder / Encoder / Skip connection등으로 이루어진 모델
&lt;ul&gt;
&lt;li&gt;encoder의 Feature를 Decoder에 전달해주는 Skip connection
&lt;ul&gt;
&lt;li&gt;해상도를 줄이다보면 위치 정보가 소실된다. (작아지니까)&lt;/li&gt;
&lt;li&gt;이때 이 값을 그대로 줘서 위치정보가 소실되지 않도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CLIP
&lt;ul&gt;
&lt;li&gt;이미지와 텍스트를 한 공간에서 정렬&lt;/li&gt;
&lt;li&gt;기존 방식은 확장성도 부족하고, 라벨링도 어렵다
&lt;ul&gt;
&lt;li&gt;인터넷에서 얻은 데이터셋과 캡션으로 사전 학습을 하자!&lt;/li&gt;
&lt;li&gt;고양이를 검색해서 나온 사진과 텍스트를 임베딩하자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;라벨이 아니라 이미지와 텍스트 쌍으로 학습된다&lt;/li&gt;
&lt;li&gt;정답 쌍 끼리는 유사도가 높게, 아니면 낮게&lt;/li&gt;
&lt;li&gt;이후 &amp;ldquo;A photo of plane&amp;rdquo;, &amp;ldquo;A photo of dog&amp;rdquo;&amp;hellip;을 넣어서 비교하면? 예측이 가능해진다!&lt;/li&gt;
&lt;li&gt;기존 라벨링이 비싸다는 문제를 캡션을 이용해서 해결했다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;DINO
 &lt;div id="dino" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dino" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;ML의 대표적인 학습 방식
&lt;ul&gt;
&lt;li&gt;지도 학습&lt;/li&gt;
&lt;li&gt;비지도 학습&lt;/li&gt;
&lt;li&gt;자기지도 학습
&lt;ul&gt;
&lt;li&gt;데이터 안에서 라벨을 직접 만들어서 학습하는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;❔질문 사항
 &lt;div id="질문-사항" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%ec%a7%88%eb%ac%b8-%ec%82%ac%ed%95%ad" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;🔗 참고 자료
 &lt;div id="-참고-자료" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-%ec%b0%b8%ea%b3%a0-%ec%9e%90%eb%a3%8c" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>YBIGTA NLP</title><link>https://blog.wlgh7407.com/posts/study/ybigta/260123_til_ybigta-nlp/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.wlgh7407.com/posts/study/ybigta/260123_til_ybigta-nlp/</guid><description>&lt;h2 class="relative group"&gt;📝 상세 정리
 &lt;div id="-상세-정리" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-%ec%83%81%ec%84%b8-%ec%a0%95%eb%a6%ac" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h4 class="relative group"&gt;Classical NLP
 &lt;div id="classical-nlp" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#classical-nlp" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;ML로 텍스트를 이해하려는 시도
&lt;ul&gt;
&lt;li&gt;자연어 처리는 텍스트의 패턴을 컴퓨터에게 어떻게 먹이고 / 처리를 할것이냐?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NLP의 역사
&lt;ul&gt;
&lt;li&gt;규칙 기반 NLP
&lt;ul&gt;
&lt;li&gt;Rule Base: 사전에 만들어둔 규칙에 기반해 처리하자&lt;/li&gt;
&lt;li&gt;nltk/wordnet: 유의어 사전(시소러스) 기반으로 단어의 의미를 인식&lt;/li&gt;
&lt;li&gt;비싸고&lt;/li&gt;
&lt;li&gt;정적이고&lt;/li&gt;
&lt;li&gt;모든 상황 표현이 부족하다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;통계 기반 NLP
&lt;ul&gt;
&lt;li&gt;Corpus(말뭉치)에서 텍스트의 규칙을 찾자&lt;/li&gt;
&lt;li&gt;단어의 벡터표현&lt;/li&gt;
&lt;li&gt;분포 가설
&lt;ul&gt;
&lt;li&gt;단어의 의미는 주변 단어에 의해 형성된다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Cosine 유사도&amp;hellip;&lt;/li&gt;
&lt;li&gt;하지만 단어 벡터가 너무 고차원이다&lt;/li&gt;
&lt;li&gt;SVD로 차원축소를 하기엔, 계산량이 너무 많다&lt;/li&gt;
&lt;li&gt;결국 큰 Corpus 안에서 다양한 단어들의 의미를 벡터화해야하는데
&lt;ul&gt;
&lt;li&gt;Corpus가 커지면 힘들다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;NN Based NLP
 &lt;div id="nn-based-nlp" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nn-based-nlp" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Word2vec
&lt;ul&gt;
&lt;li&gt;Neural Network를 사용해서 단어를 임베딩하자&lt;/li&gt;
&lt;li&gt;Cbow
&lt;ul&gt;
&lt;li&gt;Continuous Bag of words&lt;/li&gt;
&lt;li&gt;주위 단어로 가운데 단어 예측&lt;/li&gt;
&lt;li&gt;you say goodbye and I say hello
&lt;ul&gt;
&lt;li&gt;you, goodbye -&amp;gt; say&lt;/li&gt;
&lt;li&gt;say, and -&amp;gt; goodbye&lt;/li&gt;
&lt;li&gt;goodbye, I -&amp;gt; and&lt;/li&gt;
&lt;li&gt;&amp;hellip;를 맞추도록&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;단어들을 id로 바꾼 후, 원핫벡터를 정답으로해서 순전파, softmax, 출력, 역전파..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Skipgram
&lt;ul&gt;
&lt;li&gt;중간단어 한개로 주변 n개단어의 context 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;아무튼 그 결과 각 단어별 Embedding을 구할 수 있다 (벡터화 된다)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;Sequential &amp;amp; Contextual NLP
 &lt;div id="sequential--contextual-nlp" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sequential--contextual-nlp" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Language Model
&lt;ul&gt;
&lt;li&gt;Word2vec까지는 순서, 장기 문맥 고려 없이 단어들을 embedding한다.&lt;/li&gt;
&lt;li&gt;문맥의 자연스러움을 평가하고 자연스러운 다음 단어를 예측하는 모델을 만들자!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RNN
&lt;ul&gt;
&lt;li&gt;one to many: 첫 단어 입력에 대해 문장 예측&lt;/li&gt;
&lt;li&gt;many to one: 감정 label 예측&lt;/li&gt;
&lt;li&gt;many to many: 기계번역&lt;/li&gt;
&lt;li&gt;등등 여러가지 모델을 만들 수 있다!&lt;/li&gt;
&lt;li&gt;문제: 기울기 소실 / 폭발
&lt;ul&gt;
&lt;li&gt;시퀀스가 너무 길면 뒷쪽 단어를 예측해서 나온 오차의 역전파가 앞쪽에 거의 반영되지 못한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;LSTM
&lt;ul&gt;
&lt;li&gt;옛날 Weight가 사라지는것같아서, Gate를 달아서 가져오게 하겠다!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GRU
&lt;ul&gt;
&lt;li&gt;LSTM이 너무 복잡하니까 조금 간소화하자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 class="relative group"&gt;Transformer Attention
 &lt;div id="transformer-attention" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#transformer-attention" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Seq2Seq
&lt;ul&gt;
&lt;li&gt;셀이 아닌 아키텍쳐
&lt;ul&gt;
&lt;li&gt;위의 아키텍쳐 두개를 결합 (인코더 / 디코더)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;모든 문장을 끝까지 들은 후 하나의 완전한 문장 생성&lt;/li&gt;
&lt;li&gt;입력과 출력 시퀀스의 길이가 달라도 된다!
&lt;ul&gt;
&lt;li&gt;번역에 가장 많이 쓴다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;문제
&lt;ul&gt;
&lt;li&gt;단계적 연산이 너무 느리다&lt;/li&gt;
&lt;li&gt;긴시퀀스에서 정보가 충분히 전달되지 않는다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Transformer
&lt;ul&gt;
&lt;li&gt;개선점
&lt;ul&gt;
&lt;li&gt;RNN계열 셀 배제 -&amp;gt; Transformer block 사용&lt;/li&gt;
&lt;li&gt;포지셔널 인코딩 - 시퀀스 비순차적 입력 -&amp;gt; 병렬처리&lt;/li&gt;
&lt;li&gt;Self attention - 긴 문장의 장기맥락&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Encoder + Decoder 구조는 그대로 구현하였음!&lt;/li&gt;
&lt;li&gt;Attention
&lt;ul&gt;
&lt;li&gt;seq2seq에서의 Attention
&lt;ul&gt;
&lt;li&gt;번역할 때 단어 &amp;ldquo;정보&amp;quot;와 &amp;ldquo;imformation&amp;quot;의 관계가 크지 않을까?
&lt;ul&gt;
&lt;li&gt;이 점수가 Attention Score&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;문맥 상 한 토큰과 관련이 높은 다른 토큰의 임베딩과의 관련도를 구하겠다!&lt;/li&gt;
&lt;li&gt;맥락과 포지셔닝으로 해결하자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Self Attention
&lt;ul&gt;
&lt;li&gt;다른 토큰에서 필요한 정보를 선택적으로 집계해 현재 토큰 표현을 갱신&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Multi Head Attention
&lt;ul&gt;
&lt;li&gt;여러 종류의 관계를 병렬적으로 포착해 집계 신호의 다양성 증가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Transformer 변형
&lt;ul&gt;
&lt;li&gt;Encoder &amp;amp; Decoder
&lt;ul&gt;
&lt;li&gt;인코더만 잘라쓰면 BERT&lt;/li&gt;
&lt;li&gt;디코더만 잘라쓰면 GPT&lt;/li&gt;
&lt;li&gt;LLM은 보통 디코더 베이스&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;BERT 계열
&lt;ul&gt;
&lt;li&gt;Representation Model&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GPT 계열
&lt;ul&gt;
&lt;li&gt;Generative Pretrained Transformer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;LLM
&lt;ul&gt;
&lt;li&gt;Pretrain
&lt;ul&gt;
&lt;li&gt;지식 + 문법적으로 맞게 글쓰기 습득&lt;/li&gt;
&lt;li&gt;데이터셋 corpus같은것을&lt;/li&gt;
&lt;li&gt;토크나이제이션 해서&lt;/li&gt;
&lt;li&gt;임베딩 + 포지셔널 인코딩을 하고&lt;/li&gt;
&lt;li&gt;Masked 멀티헤드 어텐션을 먹여서&lt;/li&gt;
&lt;li&gt;Loss를 계산하고 역전파를 하겠다!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Post Train
&lt;ul&gt;
&lt;li&gt;Pretrain 후에는 글은 잘쓰는데 질문 -&amp;gt; 대답이나, 할루시네이션 방지등이 안된다.
&lt;ul&gt;
&lt;li&gt;이걸 잡자.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;도메인 특화 지식 + 선호 및 지식에 맞게 튜닝&lt;/li&gt;
&lt;li&gt;Supervised Fine Tuning
&lt;ul&gt;
&lt;li&gt;ex) instruction Tuning&lt;/li&gt;
&lt;li&gt;지시를 보면 이런 형태로 답하도록 학습&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Reinforcement Learning
&lt;ul&gt;
&lt;li&gt;ex) RLHF, GRPO&amp;hellip;&lt;/li&gt;
&lt;li&gt;지시를 따르되, 사람 취햐에 더 맞게 다듬기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Agent
&lt;ul&gt;
&lt;li&gt;LLM 언어모델에게 Tool을 부여&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;❔질문 사항
 &lt;div id="질문-사항" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%ec%a7%88%eb%ac%b8-%ec%82%ac%ed%95%ad" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;🔗 참고 자료
 &lt;div id="-참고-자료" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-%ec%b0%b8%ea%b3%a0-%ec%9e%90%eb%a3%8c" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>