<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jja_jja.log</title>
        <link>https://velog.io/</link>
        <description>Time Series Analysis, Artifical Intelligence</description>
        <lastBuildDate>Sun, 22 Feb 2026 13:25:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jja_jja.log</title>
            <url>https://velog.velcdn.com/images/jja_jja/profile/02cf643b-213a-43cb-b14c-975f51088a49/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jja_jja.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jja_jja" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[논문 리뷰] A framework for detecting unknown defect patterns on wafer bin maps using active learning (2025 ESWA)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-A-framework-for-detecting-unknown-defect-patterns-on-wafer-bin-maps-using-active-learning-2025-ESWA</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-A-framework-for-detecting-unknown-defect-patterns-on-wafer-bin-maps-using-active-learning-2025-ESWA</guid>
            <pubDate>Sun, 22 Feb 2026 13:25:46 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.sciencedirect.com/science/article/pii/S0957417424022450?ref=pdf_download&amp;fr=RR-2&amp;rr=9d0bdcf5084c19c3">원문 paper 링크</a></p>
<blockquote>
<p><strong>Motivation</strong></p>
</blockquote>
<ol>
<li>기존 WBM 결함 패턴 분류 연구는 대부분 closed-set 가정에 기반한 지도학습 접근이었으며, 실제 제조 환경에서 새롭게 발생하는 unknown defect pattern을 효과적으로 탐지하지 못한다는 한계 존재함</li>
<li>unknown 패턴이 테스트 또는 운영 환경에 등장하면, 기존 분류기는 이를 알려진 클래스 중 하나로 오분류하여 전체 분류 성능을 저하시킬 수 있으며, 이는 수율 관리와 비용 측면에서 심각한 문제를 초래함</li>
<li>따라서 본 논문은 known 패턴에 대한 높은 분류 성능을 유지하면서도 unknown 패턴을 탐지하고, 이를 active learning과 결합해 지속적으로 모델을 업데이트할 수 있는 통합 프레임워크를 제안</li>
</ol>
<h2 id="0-abstract">0. Abstract</h2>
<ul>
<li><p>반도체 제조에서 <strong>Wafer Bin Map(WBM)</strong>의 결함 패턴을 탐지·분류하고 결함의 원인을 규명하는 일이 품질 관리에 중요하다고 서술</p>
</li>
<li><p>최근 딥러닝 기반 방법이 다수 적용되었으나, 분류 성능 저하, 라벨링 한계, 새로운 결함 패턴의 탐지·학습 불가라는 한계를 가진다고 지적</p>
</li>
<li><p>기존 연구가 “정확도/속도” 최적화에 치우쳐 unknown defect pattern 탐지와 분류를 우선순위로 두지 않았다고 문제를 정의</p>
</li>
<li><p>위 내용을 해결하기 위해 다음의 파이프라인 제안</p>
<ul>
<li><p>known/unknown을 가르는 One-Class SVM 기반 이상 탐지기 설계</p>
</li>
<li><p>known 패턴은 ImageNet1K로 사전학습된 ResNet50을 transfer learning으로 미세조정해 세부 클래스를 분류</p>
</li>
<li><p>unknown 패턴은 DBSCAN 클러스터링으로 새 라벨을 부여하고, active learning으로 분류기와 탐지기를 지속 업데이트</p>
</li>
</ul>
</li>
<li><p>WM-811K 데이터셋 실험으로 unknown 패턴 탐지와 known 패턴 분류 성능 유지가 가능함을 검증했다고 주장</p>
</li>
<li><p>실제 산업 데이터에서 WM-811K에 없는 “Eye Defect Pattern”을 unknown으로 두고 적용 가능성을 보였다고 결론</p>
</li>
</ul>
<h2 id="1-introduction">1. Introduction</h2>
<h3 id="11-problem-define">1.1 Problem Define</h3>
<ol>
<li><p>반도체 <strong>산업이 고집적/나노스케일 공정으로 진화</strong>하면서 제조 비용과 결함 리스크가 증가</p>
</li>
<li><p>이전에 없던 unknown, mixed, complex defect가 발생하면 <strong>수율 저하 및 공정 안정성 약화를 유발</strong></p>
</li>
<li><p>WBM은 전기적 die test/sort 결과로부터 생성되며,** 불량 칩의 공간 분포를 시각적으로 제공한다고 정의 (Table 1)**</p>
</li>
<li><p>** WBM 결함 패턴은 결함의 root cause와 밀접히 연관**되어 있어, 패턴 분류 및 라벨링이 공정 원인 추적에 도움이 된다고 강조</p>
<ul>
<li>그러나 unknown 패턴의 정확한 분류/라벨링은 여전히 공정 엔지니어의 경험, 직관, 시각 검사에 크게 의존한다고 문제를 제기</li>
</ul>
</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ad818b4a-9354-4e29-9425-4b971a0cb8b7/image.png" alt=""></p>
<ul>
<li><p>기존 접근 한계</p>
<ol>
<li><p>다수의 연구가 supervised learning 기반이며, 모든 라벨이 사전에 정의된 closed-set 가정</p>
</li>
<li><p>supervised는 Softmax 등 최종 분류층이 “기존 라벨 분포 기반 추론”을 수행하기 때문에 정의되지 않은 결함을 구분하지 못한다고 지적</p>
</li>
<li><p>unsupervised는 unknown을 볼 수 있으나, 많은 샘플을 사람이 확인해야 하고 분류 성능이 supervised보다 낮을 수 있다고 정리</p>
</li>
<li><p>semi-supervised는 라벨 효율은 개선하지만, unknown 패턴에서 정확한 라벨 부여가 어렵고 탐지 능력이 떨어질 수 있다고 서술</p>
</li>
</ol>
</li>
</ul>
<h3 id="12-contribution">1.2 Contribution</h3>
<ol>
<li><p>목표는 known 패턴에 대해 높은 분류 정확도를 유지하면서 unknown 패턴을 올바르게 탐지하는 “종합 프레임워크”를 제안</p>
</li>
<li><p>구성은 One-Class SVM(known/unknown), ResNet50 transfer learning(known class 분류), DBSCAN(unknown clustering), active learning 기반 업데이트로 요약</p>
</li>
<li><p>WM-811K와 실제 산업 데이터로 효과를 검증</p>
</li>
</ol>
<h2 id="2-related-works">2. Related works</h2>
<blockquote>
<p>해당 논문은 관련연구를 supervised, unsupervised, semi-supervised, active learning 관점으로 정리했고, “unknown pattern을 다루지 못한다”는 공통 한계를 중심으로 서술</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1643e894-c14d-4ee0-aa6a-55a12f560ab8/image.png" alt=""></p>
<h3 id="21-supervised-learning">2.1 Supervised learning</h3>
<ul>
<li><p>종류: CNN, Dual DCNN, U-Net+CBAM, 개선형 CBAM, WSCN(분류+세그멘테이션), YOLO 기반 위치 예측</p>
</li>
<li><p>목표: 정확도 향상, 모델 경량화, 학습 시간 단축</p>
</li>
<li><p>한계: 정답 라벨과 데이터 균형이 필요하고, 실제 제조 환경에서는 샘플링 검사로 인해 데이터가 불균형·불완전해 라벨 확보가 어렵다고 지적</p>
</li>
<li><p>따라서 unknown 패턴이 발생하면 탐지하지 못해 분류기를 지속 재학습해야 하며 비용이 증가하는 문제 발생</p>
</li>
</ul>
<h3 id="22-unsupervised-learning">2.2 Unsupervised learning</h3>
<ul>
<li><p>종류: SVM 기반 초기 분류 후 유사도 랭킹, 극좌표 변환+DPGMM 기반 유사도 랭킹, 텐서 보팅 기반 유사도 비교 등의 접근</p>
</li>
<li><p>한계: unknown 패턴을 시각화/발견할 수 있으나, 라벨 기반 학습이 아니라 분류 정확도와 속도가 떨어지고, 결과 해석을 위해 많은 수작업 검토가 필요함</p>
</li>
</ul>
<h3 id="23-semi-supervised-learning">2.3 Semi-supervised learning</h3>
<ul>
<li><p>종류: 라벨이 제한된 상황에서 active learning, 회전 불변 표현 학습, PCA 기반 autoencoder, mixed-type을 multi-label로 바꾸는 방법</p>
</li>
<li><p>한계: 기존 라벨과의 유사성에 의존하거나, 발생 가능한 패턴 유형/분포를 사전에 가정하는 경우가 많아 “완전히 새로운 패턴”을 식별하기 어렵다고 지적</p>
<ul>
<li>OOD(Out-of-distribution) 탐지 연구도 언급되었으나 관심 OOD 데이터가 함께 학습되어야 하는 제약 존재</li>
</ul>
</li>
</ul>
<h3 id="24-active-learning">2.4 Active learning</h3>
<blockquote>
<p>본 연구는 unknown 패턴이 공정에서 계속 생길 수 있다는 문제를 반영하여 stream-based를 채택했고, 제조 환경 특성(로트 단위, 심한 imbalance)을 고려해 window-based buffer로 데이터를 모아 처리하는 online active learning을 제안</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/3dbf1173-c493-4fe3-a2bf-20e015ab94e8/image.png" alt=""></p>
<ul>
<li>종류: pool-based와 stream-based active learning</li>
<li>pool-based: 오프라인에서 큰 unlabeled pool 중 정보량 높은 샘플을 고르는 방식이며 closed-set 한계</li>
<li>stream-based: 데이터가 흐르며 즉시 라벨 쿼리 여부를 결정하고 new class도 처리 가능하나, 순차 처리로 선택 품질이 낮을 수 있음</li>
</ul>
<h3 id="3-proposed-method">3. Proposed Method</h3>
<blockquote>
<p>프레임워크 4step으로 구성되어 있기에 이를 기준으로 각 subsection 별로 설명</p>
</blockquote>
<p>1) unknown defect 탐지
2) known class 분류
3) unknown에 대한 unsupervised clustering
4) active learning
추가로, offline 학습(탐지기·분류기 학습)과 online 테스트(운영 중 unknown 수집 및 업데이트)로 구조 분리</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/dcfe63ef-ce18-427d-a9eb-8ab5a22a29a7/image.png" alt="">
offline training과 online test, 그리고 unknown buffer와 active learning 업데이트 루프 과정</p>
<h3 id="31-step-1-detect-unknown-defect-patterns">3.1 Step 1: detect unknown defect patterns</h3>
<ul>
<li><p>Step 1은 OSR(Open Set Recognition) 및 anomaly detection 관점으로, 운영 환경에서 들어오는 샘플을 known/unknown으로 binary classification 진행</p>
</li>
<li><p>목적: Step 2 분류기가 unknown을 known으로 오분류하여 성능이 무너지는 것을 최소화하는 것</p>
</li>
<li><p>따라서 “패턴의 상세 클래스”가 아니라 “known인지 unknown인지”만 결정</p>
</li>
</ul>
<h3 id="32-step-2-classification-of-known-pattern-samples">3.2 Step 2: classification of known pattern samples</h3>
<ul>
<li>Step 2는 supervised learning 기반 분류기로 known class를 세부 클래스로 분류</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/109db33b-e3fe-4d8f-8401-bff4a2abb66d/image.png" alt=""></p>
<ul>
<li>backbone으로 ResNet, DenseNet, ViT, EfficientNet 등을 언급했으나, <strong>본 연구 구현에서는 ResNet50 기반 pre-trained classifier를 구축</strong></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2a116093-4c7f-43cd-a221-1b0929f8036f/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/675ec71f-2ef5-4184-b2b7-2854ad139f93/image.png" alt=""></p>
<ul>
<li><p><strong>WM-811K 데이터의 severe imbalance 문제를 고려해, ImageNet1K로 사전학습된 ResNet50의 convolution layer 가중치를 활용하는 transfer learning을 적용 (Fig 5, 6에서도 pre trained model 구조와, transfer learning 방식에 대해서 설명)</strong></p>
</li>
<li><p>convolution layer를 동결하지 않고 fine-tuning을 수행해 WBM 도메인에 적응하도록 함.</p>
</li>
</ul>
<h4 id="resnet-구조-설명">ResNet 구조 설명</h4>
<ul>
<li><p>ResNet의 residual block이 gradient vanishing을 완화하기 위한 skip connection 구조</p>
</li>
<li><p>ResNet50은 bottleneck 구조(1×1로 차원 축소, 3×3으로 학습력 유지, 1×1로 복원)를 사용해 파라미터 수를 줄이고 과적합을 완화</p>
</li>
</ul>
<h4 id="클래스별-최적-threshold-기반-unknown-재판정">클래스별 최적 Threshold 기반 unknown 재판정</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/49a4038c-a6ea-496b-9f0c-4f3e0707b444/image.png" alt=""></p>
<p>논문은 Step 1에서 unknown이 known으로 들어오는 경우를 고려했다고 서술했다.</p>
<p><strong>이를 완화하기 위해 ResNet50 다중분류 과정에서 Unknown Defect Pattern Class를 개념적으로 도입하고, One-vs-All 방식으로 클래스별 threshold를 학습해 “어느 known 클래스도 임계값을 넘지 못하면 unknown으로 처리”하는 다단계 프로세스를 설계했다고 설명했다. (Fig.  7에서 핑크색 부분)</strong></p>
<p>임계값 탐색은 Algorithm 1에 제시되어 있으며, 평가 지표로 precision을 사용
<img src="https://velog.velcdn.com/images/jja_jja/post/6e3610d3-2fbe-498d-8cc9-bf15f457daee/image.png" alt=""></p>
<h3 id="33-step-3-unsupervised-learning-for-unknown-pattern-samples">3.3 Step 3: unsupervised learning for unknown pattern samples</h3>
<ul>
<li><p>WBM은 80×80 형태이며, 고차원에서 클러스터링은 curse of dimensionality로 비효율적일 수 있다.</p>
</li>
<li><p>misclassified known 샘플과 true unknown 샘플을 구분하기 위해 차원 축소가 필요하다고 논문이 주장했다.</p>
</li>
<li><p>본 연구는 unknown으로 판정된 샘플에 대해 t-SNE로 차원 축소 및 시각화를 수행했다고 설명했다.</p>
</li>
<li><p>이후 여러 클러스터링 알고리즘을 비교했고, cluster proportion 지표로 “동일 결함이 동일 클러스터에 모이는 정도”를 정량화했다고 서술했다.
<img src="https://velog.velcdn.com/images/jja_jja/post/e9154937-b88f-4252-ac6f-62b4c20f2678/image.png" alt=""></p>
</li>
<li><p><strong>DBSCAN을 최종 선택한 이유는 (Fig. 7. visualization 부분)</strong>
(1) 클러스터 개수를 사전 지정할 필요가 없고, 
(2) 비선형 클러스터 및 노이즈에 강하며, 
(3) 반도체 환경에서 defect 수를 미리 알기 어렵다는 특성과 맞기 때문이다.</p>
</li>
</ul>
<h3 id="34-step-4-model-update-process-based-on-active-learning">3.4 Step 4: Model update process based on active learning</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/fdda8f7b-d903-4406-9074-8ab4b4bffec2/image.png" alt=""></p>
<ul>
<li><p>Step 4는 탐지기와 분류기를 unknown 패턴으로 <strong>update하는 단계 (Fig. 8. 업데이트 과정)</strong></p>
</li>
<li><p>DBSCAN으로 군집화하여 엔지니어가 검토할 데이터의 노이즈와 양을 줄이고, HITL(Human-in-the-loop)로 최종적으로 unknown 패턴 존재와 라벨을 확정</p>
</li>
<li><p>unknown 패턴이 기존 패턴과 유사하거나 anomaly detector가 예측 가능하면 active learning만으로도 충분할 수 있으나, 패턴 정의가 추가로 필요하면 엔지니어 도메인 지식이 효과적</p>
</li>
</ul>
<h2 id="4-case-study-1-using-wm-811k-dataset">4. Case study 1: using WM-811K dataset</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9fdfb424-20f5-4b01-b407-fbf16e745aab/image.png" alt=""></p>
<h3 id="41-wm-811k-dataset">4.1 WM-811K dataset</h3>
<ul>
<li><p>실험 목표 및 구성</p>
<ul>
<li>WM-811K 오픈 데이터셋으로 제안 프레임워크의 각 모듈을 설명하고 성능 검증</li>
<li>“Original classifier(업데이트 전)”와 “Updated classifier(active learning 후)”를 비교했고, 모든 결함을 미리 학습한 benchmark classifier와도 비교</li>
</ul>
</li>
<li><p>데이터 설명</p>
<ul>
<li>WM-811K는 총 811,457장의 WBM 이미지로 구성되며, 약 21.3%만 라벨이 있고 나머지 78.7%는 unlabeled</li>
<li>결함 패턴은 8종(Center, Donut, Edge-Loc, Edge-Ring, Loc, Random, Scratch, Near-Full)과 정상(None) 1종으로 구성</li>
<li>unknown 패턴 시뮬레이션을 위해 8개 결함 패턴을 하나씩 “leave one out”으로 unknown 처리하여, 해당 패턴을 train/val에서 제외하고 test에는 포함하는 8개 시나리오</li>
<li>None 패턴은 항상 known으로 가정해 모든 학습 시나리오에 포함 
<img src="https://velog.velcdn.com/images/jja_jja/post/805c532f-a33e-441e-80c4-dcbba8f4b66a/image.png" alt=""></li>
</ul>
</li>
</ul>
<h3 id="42-step-1-detect-unknown-defect-pattern-samples-with-one-class-svm">4.2 Step 1: detect unknown defect pattern samples (with One-Class SVM)</h3>
<ul>
<li><p>One-Class SVM을 abnormal detector로 선택했고, known defect를 하나의 클래스처럼 취급하여 “known defect 범위 밖이면 unknown”으로 판단하는 방식으로 설계</p>
</li>
<li><p>rbf 커널을 사용했고, NU 파라미터를 grid search로 0.10으로 설정</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/75431dc9-e09b-48a8-a0e1-8a26f8767bd6/image.png" alt=""></p>
<ul>
<li><p>8개 시나리오 평균 macro accuracy가 85.4%</p>
</li>
<li><p>Center 87%, Donut 90%, Edge-Loc 81%, Edge-Ring 72%, Loc 83%, Random 91%, Scratch 88%, Near-Full 91%</p>
</li>
<li><p>특히, Edge-Ring 시나리오가 상대적으로 낮은 정확도를 보였다는 점이 수치로 확인되어 이는 Step 2/Step 4 보강이 필요한 현실적 근거로 작동함</p>
</li>
</ul>
<h3 id="43-step-2-classification-of-known-pattern-samples-with-resnet50">4.3. Step 2: classification of known pattern samples (with ResNet50)</h3>
<ul>
<li><p>unknown 패턴이 test에 존재하면 supervised classifier는 이를 제대로 탐지하지 못해 오분류가 발생하고 성능이 저하</p>
</li>
<li><p>Table 6에서 Step 4 적용 전(original classifier) 성능을 제시한 것을 봤을 때, macro accuracy가 약 0.90, 평균 F1-score가 0.83임을 확인할 수 있다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/8d3d8529-8bcf-4127-a393-82713b9fc7e2/image.png" alt=""></p>
<ul>
<li>이 결과는 “unknown을 처리하지 않으면 분류기가 잘 학습된 것처럼 보이더라도 실제 운영에서는 성능이 무너질 수 있다”는 논문의 문제의식을 수치로 뒷받침한다.</li>
</ul>
<h3 id="44-step-3-unsupervised-learning-for-unknown-pattern-samples">4.4 Step 3: unsupervised learning for unknown pattern samples</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1e138227-a664-40bf-9a8d-1283d6457ff7/image.png" alt=""></p>
<ul>
<li><p>t-SNE를 사용해 unknown 후보 샘플을 저차원으로 임베딩하고 시각화</p>
</li>
<li><p>여러 클러스터링 알고리즘을 적용해 cluster proportion으로 비교했으며, Table 7에서 DBSCAN이 macro 89%로 가장 우수</p>
</li>
<li><p>KMEANS는 유사한 패턴(Edge-Loc, Loc, Scratch 등)에서 성능이 낮은 것을 볼 수 있고, hierarchical clustering은 성능이 유사할 수 있으나 패턴별 threshold 지정이 필요하다.</p>
</li>
<li><p>따라서 DBSCAN을 선택</p>
</li>
</ul>
<h3 id="45-step-4-model-update-process-based-on-active-learning">4.5. Step 4: Model update process based on active learning</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/223399fa-cd74-4f1d-b73a-7223ecb8ac33/image.png" alt=""></p>
<ul>
<li>DBSCAN 군집화 → 엔지니어 라벨링(HITL) → 업데이트 학습으로 분류기를 unknown 클래스까지 포함해 재학습하는 과정</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/c6c9a58d-3f88-4e56-8182-747219f01ebd/image.png" alt=""></p>
<ul>
<li><p>performance gain ratio를 함께 제시하여 업데이터 전/후에 대한 성능 확인 가능</p>
<ul>
<li>precision +14%, recall +6%, F1 +10%, accuracy +4% 개선</li>
</ul>
</li>
<li><p>updated classifier 성능을 확인했을 때, macro 평균 </p>
<ul>
<li>precision - 0.91</li>
<li>recall - 0.91</li>
<li>F1 - 0.91</li>
<li>accuracy - 0.94</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/59e50acb-6c32-4cf2-ace6-45e357fc321d/image.png" alt=""></p>
<ul>
<li>해당 막대그래프를 봤을 때, 업데이트 전후 성능 차이를 직관적으로 확인할 수 있음</li>
</ul>
<h3 id="46추가---benchmark-및-관련-연구들과의-비교-실험">4.6(추가) - Benchmark 및 관련 연구들과의 비교 실험</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b2173ac8-bb1e-4011-8a20-52080a0ee78c/image.png" alt=""></p>
<ul>
<li><p>모든 결함 클래스를 포함해 학습한 benchmark classifier의 클래스별 정밀도/재현율/F1과 샘플 수 확인</p>
</li>
<li><p>데이터가 많다고 항상 좋은 것이 아니며(Near-Full과 Scratch 비교), 라벨 노이즈가 경계가 불명확한 패턴에서 성능을 악화시킬 수 있음을 확인</p>
</li>
<li><p>또한 WBM은 경계가 흐린 패턴이 많아 Edge-Loc vs Loc, Scratch vs Loc/Edge-Loc 같은 혼동이 발생할 수 있음</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2f6037a7-e10f-4e51-8ccc-7c3948c79d42/image.png" alt=""></p>
<ul>
<li><p>Table 10에서 related studies와 updated classifier를 macro, micro accuracy로 비교했고, micro accuracy는 None 비중이 매우 커서 높게 나올 수 있음을 함께 설명</p>
</li>
<li><p>updated classifier는 micro accuracy 0.98 수준으로 상위 성능군에 속하고, macro accuracy도 0.94로 경쟁력 있음을 확인함.</p>
</li>
</ul>
<h2 id="5-case-study-2-using-real-field-data">5. Case study 2: using real field data</h2>
<ul>
<li><p>실험 목적과 데이터 구성 </p>
<ul>
<li>실제 제조 현장 데이터로 제안 방법의 현장 적용성 평가</li>
<li>공정 관심 영역의 wafer bin 번호를 선택해 WBM 이미지로 전처리하였으며, 전체 WBM을 공정 엔지니어가 도메인 지식으로 라벨링 진행</li>
</ul>
</li>
<li><p><strong>WM-811K만으로 학습한 existing classifier를 real field test 데이터(unknown “Eye” 포함)에서 평가하고, proposed method 적용 후 proposed classifier와 비교</strong></p>
</li>
</ul>
<h3 id="51--real-field-industrial-data">5.1  Real field industrial data</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/10b4f247-4663-4038-8969-6e1182b33a75/image.png" alt=""></p>
<p>Fig. 10에서는 실제 데이터 결함 패턴 예시 시각화</p>
<ul>
<li>결함 클래스는 Edge-Loc, Center, Edge-Ring, Eye, Near-full, Scratch로 구성<ul>
<li>Eye는 WM-811K에 없는 unknown single defect pattern이며, Center와 Edge-Ring이 결합된 mixed defect처럼 볼 수 있음</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a143e791-7b74-4747-8015-46a686afe9ed/image.png" alt="">
Fig. 11에서는 real field 데이터의 패턴 분포</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/bc0c7997-9e1d-464f-a6b9-0db5c2c06d1d/image.png" alt=""></p>
<p>Fig. 12에서 학습 데이터는 WM-811K의 9패턴(known)만 포함하고, test에만 Eye를 추가해 총 10패턴으로 평가하는 구성을 제시</p>
<h3 id="52-performance-for-real-field-industrial-data">5.2. Performance for real field industrial data</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e848ec46-0ae1-492b-b18a-021cb3173b8c/image.png" alt=""></p>
<p>Table 11에서 existing classifier의 성능을 제시했고, Eye 클래스는 학습되지 않았으므로 precision/recall/F1이 모두 0</p>
<ul>
<li><p>Eye와 유사한 Center, Edge-Ring 및 Near-full, Random 등에서도 오분류 영향으로 성능이 안 좋아지는 것을 확인할 수 있음</p>
</li>
<li><p>macro 평균</p>
<ul>
<li>precision 0.69</li>
<li>recall 0.81</li>
<li>F1 0.72 </li>
<li>accuracy 84%</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e4f083bf-9e32-4003-b4d4-b86b6b176ece/image.png" alt=""></p>
<p>Table 12에서 proposed classifier 성능을 제시하여, Eye 클래스에 대한 성능을 확인함.</p>
<ul>
<li><p>precision - 1.00</p>
</li>
<li><p>recall - 0.88</p>
</li>
<li><p>F1 - 0.94</p>
</li>
<li><p>전체 macro 평균은 precision 0.88, recall 0.89, F1 0.88, accuracy 92%</p>
</li>
<li><p>performance gain ratio는 precision +28%, recall +10%, F1 +22%, accuracy +10%로 제시</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/640db2c9-35ac-43ca-bf13-968beac2c92e/image.png" alt=""></p>
<p>Fig. 13에서 confusion matrix를 통해 predict 분포를 확인할 수 있음</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1885e767-a514-45ce-ac38-169c5dc24f30/image.png" alt=""></p>
<p>Table 13에서 unknown detect ratio(Recall) 0.91, anomaly detection accuracy 0.89, unknown cluster proportion 1.00 등을 포함한 종합 지표를 보이고 있음</p>
<h2 id="6-conclusions">6. Conclusions</h2>
<ol>
<li><p>기존 WBM 분류 연구가 unknown defect 패턴의 등장과 그로 인한 분류기 성능 저하를 충분히 고려하지 못했다고 문제를 강조</p>
</li>
<li><p>본 연구는 unknown 패턴을 효과적으로 탐지하면서 known 패턴 분류 성능을 유지했고, active learning으로 탐지기와 분류기를 지속 업데이트하는 전략을 제안</p>
</li>
<li><p>WM-811K에서 Step 4 미적용 시 모든 지표가 최소 4%에서 최대 14%까지 악화될 수 있음을 언급하며, Step 4 적용 후 성능이 유의미하게 개선됨을 강조</p>
</li>
<li><p>real field 데이터에서 Eye unknown 패턴을 포함할 때 proposed classifier가 existing classifier 대비 10%~28% 개선을 보임</p>
</li>
<li><p>프레임워크 적용이 실제 제조 환경에서 비용 절감과 품질 관리 강화로 이어질 수 있다고 주장</p>
</li>
</ol>
<h2 id="future-works">Future works</h2>
<ul>
<li><p>known 패턴만으로 unknown 탐지 효율을 높이기 위해 OSR과 zero-shot learning 등을 탐색</p>
</li>
<li><p>또한 known 패턴으로 학습된 딥네트워크 레이어를 활용해 uncertainty estimation과 clustering을 결합하고, data selection을 고도화해 active learning 효율을 높일 수 있을 것 같다.</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Deep open-set recognition for silicon wafer production monitoring (2022 Pattern Recognition)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Deep-open-set-recognition-for-silicon-wafer-production-monitoring-2022-Pattern-Recognition</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Deep-open-set-recognition-for-silicon-wafer-production-monitoring-2022-Pattern-Recognition</guid>
            <pubDate>Fri, 20 Feb 2026 05:27:05 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.sciencedirect.com/science/article/pii/S0957417424022450">원문 paper 링크</a></p>
<blockquote>
<p>Motivation</p>
</blockquote>
<ol>
<li>실리콘 웨이퍼 생산 모니터링의 중요성</li>
<li>WDM의 특성 및 문제점</li>
<li>기존에 관찰되지 않았던 <strong>새로운 결함 패턴(novel patterns)</strong>을 조기에 감지하는 것이 매우 중요</li>
</ol>
<h2 id="1-introduction">1. Introduction</h2>
<blockquote>
<p>핵심 목표
반도체 생산에서 wafer가 여러 단계 검사 장비를 거치며, 각 검사 결과로 결함 좌표 리스트인 WDM이 나온다. 정상 상태에서는 결함이 드물고 랜덤 분포지만, 특정 패턴(예: 링, 스크래치, 클러스터 등)이 나타나면 공정 문제와 연관되어 신속한 조치가 필요하다. 또한 제조 현장에서는 기존에 알려진 패턴뿐 아니라 처음 보는 새로운 패턴도 발생할 수 있으므로, 이를 탐지하는 것이 “분류보다 더 어렵고 중요할 수 있다.”</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/35350c22-9d20-4d2c-a7d2-f1c71c3b6f9c/image.png" alt=""></p>
<ul>
<li><p>Fig. 1 Wafer 설명 이미지</p>
<ul>
<li><p>(a): Wafer 이미지 예시</p>
</li>
<li><p>(b): Wafer Defect Map(WDM) 패턴 예시</p>
</li>
<li><p>ST 데이터셋에 존재하는 12가지 알려진 결함 클래스(예: Edge, Center, Donut, Normal 등) 각각에 대한 WDM 예시와 해당 클래스의 인스턴스(데이터 샘플) 수</p>
<h3 id="11-problem-define">1.1 Problem Define</h3>
</li>
</ul>
</li>
</ul>
<ol>
<li><p>Wafer Defect Map(WDM) 기반 패턴 인식은 기존 연구가 풍부하지만, 대부분이 known 패턴만 가정하는 closed-set 분류에 머물러 실제 제조 현장에서 중요한 <strong>새로운(unknown/novel) 결함 패턴 탐지(open-set)</strong>를 충분히 다루지 못했다고 했다.</p>
</li>
<li><p>WDM는 결함 좌표가 20,000×20,000 격자 규모로 표현될 수 있어, 이를 원 해상도 이진 이미지로 그대로 CNN에 입력하는 것은 메모리·연산 측면에서 사실상 불가능하다고 했다.</p>
</li>
<li><p>기존 방법들은 WDM를 <strong>Wafer Bin Map(예: 200×200)</strong>으로 축소하는 전처리를 사용해 왔지만, 저자들은 이 binnning 과정이 정보 손실을 유발하여 분류/탐지 성능을 떨어뜨릴 수 있다고 문제를 제기했다.</p>
</li>
</ol>
<h3 id="12-contribution">1.2 Contribution</h3>
<ol>
<li><p>full-resolution WDM를 처리하는 custom SSCN 아키텍처를 제안했다.</p>
</li>
<li><p>WDM 모니터링을 open-set recognition으로 처음 다루고, GMM 기반 novelty detection을 제안했다.</p>
</li>
<li><p>클래스 불균형을 줄이기 위한 WDM 특화 <strong>data augmentation(특히 noise injection, random mixing)</strong>을 설계했고, open-set 상황에서도 test-time augmentation을 안전하게 쓸 수 있음을 논증했다고 했다.</p>
</li>
</ol>
<h3 id="2-related-work">2. Related Work</h3>
<blockquote>
<p>자세한 reference는 논문 본문 내용을 참고하면 좋을 것 같다.</p>
</blockquote>
<h3 id="21-wafer-monitoring-관련-연구">2.1 Wafer monitoring 관련 연구</h3>
<ul>
<li><p>WDM가 “거대한 이진 이미지(여기서는 20,000×20,000)”에 해당하여 표준 CNN 입력으로 쓰기 어렵기 때문에, 대부분의 기존 연구가 WDM를 Wafer Bin Map으로 축소</p>
</li>
<li><p>초기 연구들은 지역/기하 기반 handcrafted feature(면적, 둘레, 클러스터 밀도 등)와 SVM/결정트리 등을 사용했으나, 패턴의 회전/이동/부분 패턴에 취약하고, 무엇보다 새로운 패턴 탐지에는 불리</p>
</li>
<li><p>이후 CNN 기반 방법들이 Wafer Bin Map을 입력으로 하여 성능을 높였지만, 여전히 closed-set이며 novelty detection을 제공하지 못함</p>
</li>
<li><p>WM-811K 같은 공개 데이터셋은 이미 bin map 수준의 작은 이미지이므로, 본 논문이 목표로 하는 원해상도 WDM 처리를 검증하기에는 부적절</p>
</li>
</ul>
<h3 id="22-open-set-recognition">2.2 Open-set Recognition</h3>
<ul>
<li><p>Open-set recognition</p>
<ul>
<li>“known classes를 인식하면서, 어느 known에도 속하지 않는 샘플을 novelty로 검출”하는 문제</li>
</ul>
</li>
<li><p>전통적 방법(SVM 경계 수정, centroid 거리, sparse representation reconstruction error)에서 출발해, 최근에는 딥러닝 기반 방법(OpenMax, compact decision regions, latent space outlier detection, semantic space embedding, autoencoder 기반 방법 등)이 발전</p>
</li>
<li><p>autoencoder 기반 방법은 작은 이미지에 맞춰져 있어 WDM에 직접 적용하기 어려움</p>
</li>
<li><p>wfaer 맥락에서 SEM 이미지 기반 open-set 연구는 있으나, 이는 localized defect 이미지이며 WDM와 입력 특성이 달라 직접 적용이 어려움</p>
</li>
</ul>
<h3 id="3-problem-formulation">3. Problem Formulation</h3>
<ul>
<li><p>notation</p>
<ul>
<li><p>WDM $$w$$:  wafer 내 결함 위치는 2-dimension 좌표 list 형태이며, 패턴 인식 관점에서는 $$w \in {0,1}^{K \times K}$$의 이진 이미지로 볼 수 있다.</p>
</li>
<li><p>정상 상태에서는 결함이 드물고 무작위 분포하지만, 공정 실패는 Fig. 1(b)와 같은 패턴이 만들어진다. 이 패턴은 known class  $$ℓ∈L$$ 일 수도 잇고, 이전에 관측되지 않은 novel pattern일 수도 있다. 저자들은 open-set 문헌의 unknown/out-of-distribution 용어 대신, 산업 맥락에서 “새로운 결함 패턴”임을 강조하기 위해 novelty라고 부른다고 했다.
<img src="https://velog.velcdn.com/images/jja_jja/post/b85f0a2c-a3f1-496b-9fc5-c4c40eb2701f/image.png" alt=""></p>
</li>
</ul>
</li>
</ul>
<blockquote>
<p>목표는 open-set classifier 𝐾를 학습하여 각 WDM에 대해 known label 또는 Novel을 출력하는 것</p>
</blockquote>
<ul>
<li>두 가지 핵심 문제</li>
</ul>
<ol>
<li><p>입력 크기 문제: full-resolution WDM의 크기가 매우 커서(여기서는 K=20,000), single precision gray-scale 이미지로 로드하면 약 3GB가 필요하다고 함</p>
</li>
<li><p>극단적 클래스 불균형: Normal이 압도적으로 많고 BasketBall 등은 매우 희소함 (Fig. 1(b) 참조).</p>
</li>
</ol>
<h2 id="4-proposed-solution">4. Proposed Solution</h2>
<blockquote>
<p>논문은 제안 방법을 (4.1) known-class 분류, (4.2) novelty detection, (4.3) data augmentation, (4.4) 전체 파이프라인으로 구성해 설명</p>
</blockquote>
<h3 id="41-classification-of-known-classes-submanifold-sparse-convolution-networksscn">4.1 Classification of known classes: Submanifold Sparse Convolution Network(SSCN)</h3>
<ul>
<li><p>원문은 “open-set 문제는 known-class 다중분류를 포함한다”고 전제한 뒤, 일반 CNN이 full-resolution WDM에 직접 적용 불가하다고 했다(VGG16/ResNet50의 입력 크기 예시로 224×224 RGB 언급). 따라서 WDM를 효율적으로 처리하기 위해 Su<strong>bmanifold Sparse Convolution(SSC) 기반 네트워크</strong>를 구축했다고 했다.</p>
</li>
<li><p>SSC는 일반 convolution과 출력 형태는 같지만, receptive field의 active sites(즉 입력의 non-zero 위치)에서만 출력을 계산하도록 설계된 연산자
<img src="https://velog.velcdn.com/images/jja_jja/post/c01a427c-a4af-4554-9f73-eea2af6ce624/image.png" alt=""></p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e1ba945c-7cf8-4554-87cb-4d8ac3705f7e/image.png" alt=""></p>
<ul>
<li>이 성질 때문에 SSC는 입력 희소성을 유지하며(active locations 수를 증가시키지 않음), 이는 일반 convolution이 희소성을 “퍼뜨리는(densify)” 것과 대비되는 것을 위 figure에서 확인해볼 수 있음</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ae9b239e-8776-488a-becb-0d20c481e156/image.png" alt="">
SSCN architecture</p>
<ul>
<li><p>아키텍처는 VGG16의 convolutional part에서 영감을 얻되, <strong>SSCN block을 반복하는 구조</strong>로 설계</p>
</li>
<li><p>각 block은 <strong>SSC + BatchNorm + ReLU + stride 2 MaxPool</strong>로 구성되어, block 하나당 해상도를 각 차원에서 2배씩 줄임 </p>
</li>
<li><p>전체는 13개의 block 이후 convolution layer를 거쳐, 각 WDM을 <strong>128차원 latent representation $$L(w)$$</strong>로 변환</p>
</li>
<li><p>최종적으로 FC + SoftMax로 known class 점수를 출력</p>
</li>
</ul>
<blockquote>
<p>저자들은 기존 CNN 기반 방법과의 차이를 “기존은 binning 전처리로 정보 손실이 발생할 수 있으나, SSCN은 full-resolution에서 정보를 버리지 않는 data-driven 처리”라고 강조했다. 또한 13번 pooling으로 downsampling factor가 2^13이며, 이는 기존 CNN 기반 WDM 분류에서 언급된 downsampling(예: 2^5)보다 훨씬 크다고 했다. 
파라미터 수는 164,077로, VGG16의 큰 FC 층을 쓰지 않아 훨씬 적다고 했다.</p>
</blockquote>
<ul>
<li>내 생각<ul>
<li>해당설계는 WDM를 “이미지”로 억지로 다루기보다, 본질적으로 “희소한 좌표 집합”이라는 성질을 활용해 연산량을 줄이는 방향</li>
<li>feature map이 layer를 거치며 불필요하게 densify되지 않게 하는 것이고, 이는 거대 해상도에서 연산/메모리 병목을 회피하는 실질적 전략을 보임</li>
<li>13번의 down sampling을 통해 wafer 이미지의 방대한 full-resolution에서 시작해도 latent 정보를 얻을 수 있다는 게 좋은 것 같다.</li>
</ul>
</li>
</ul>
<h3 id="42-detection-of-novel-patterns-gaussian-mixture-model-gmm-outlier-in-latent-space">4.2 Detection of novel patterns: Gaussian Mixture Model (GMM) outlier in latent space</h3>
<blockquote>
<p>open-set의 두 번째 과제는 known class가 아닌 샘플(=novelty)를 탐지하는 것</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b3a25f26-5dd7-4b47-88df-9e7897b5b8e4/image.png" alt=""></p>
<ul>
<li><p><strong>분류기 penultimate layer의 latent representation $$L(w)$$</strong>에 outlier detector를 적용하는 접근을 사용</p>
</li>
<li><p>분류기는 같은 클래스 샘플을 latent space에서 비슷한 영역으로 모으는 경향이 있으므로, known classes의 latent 분포는 multimodal 분포 𝜙로 볼 수 있고, novelty는 이 분포의 저밀도 영역에 위치할 것이로가 함.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a215a0df-bd7c-4693-b026-d2881c114fb4/image.png" alt=""></p>
<ul>
<li>이를 위해 known class 개수($$L$$)만큼의 component를 갖는 GMM을 적합해 latent 분포를 모델링</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/bef98121-7a77-4a71-be5a-05eb5ff486bd/image.png" alt=""></p>
<ul>
<li><p>novelty score는 그 negative log-likelihood $$S(w)$$로 정의</p>
</li>
<li><p>판정은 𝑆(𝑤) &gt; 𝜂면 Novel로 두며, η는 known 샘플에서 false positive 확률이 목표값 α가 되도록 설정</p>
</li>
<li><p>또한 GMM 과적합을 막기 위해, 학습 데이터 중 90%로 SSCN을 학습하고, 다른 5%의 latent로 GMM 파라미터를 EM으로 추정하며, 남은 5%로 score 분포를 계산해 (1−𝛼)-quantile로 threshold를 잡음</p>
</li>
</ul>
<h3 id="43-data-augmentation">4.3 Data Augmentation</h3>
<blockquote>
<p>ST 데이터셋이 “전통적 이미지 분류 데이터셋에 비해 작고, 클래스 불균형이 극단적”이어서 과적합 위험이 크기에 이를 완화시키기 위한 작업인 data  augmentation이 필요하다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/c7274db7-be48-40b4-bbee-1db7b22eda0c/image.png" alt=""></p>
<ul>
<li>이를 완화하기 위해 label-preserving 변환 집합 $$𝑇^ℓ$$을 정의</li>
<li>회전/좌우반전/작은 평행이동 같은 일반적 변환 외에 WDM에 특화된 두 변환을 추가</li>
</ul>
<ol>
<li><p>Noise injection: Normal wafer에는 불순물로 인한 무작위 결함이 항상 존재하므로, 소수의 랜덤 결함을 추가해도 레이블이 바뀌지 않는다고 했다. 특히 Normal WDM에서 결함 수의 경험적 분포 𝜓를 구하고, 여기서 샘플링한 결함 수 𝐷개를 wafer 내부에 균일한 polar coordinate로 추가</p>
</li>
<li><p>Random mixing: BasketBall, Slice처럼 under-represented 클래스에서 같은 클래스의 WDM 일부를 랜덤 crop하여 <strong>겹쳐 합성(superimpose)</strong>함으로써 새로운 학습 샘플을 만든다고 했다. 이는 mixup과 유사하지만, WDM에 맞게 설계되었고 라벨은 바꾸지 않는다고 했다. 또한 STMicroelectronics 엔지니어가 원본과 합성본을 구분하지 못했다는 경험적 검증을 언급했다.</p>
</li>
</ol>
<h4 id="test-time-augmentation">Test-time Augmentation</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1f06ab8b-2937-46a3-b5b1-6eeb04cb8b73/image.png" alt=""></p>
<ul>
<li>테스트에서 여러 증강 버전의 예측을 평균해 안정화하는 접근을 취하며, open-set에서도 안전하려면 변환이 Novel 레이블도 보존해야 한다고 했다. 회전/반전/이동은 역변환이 존재하는 구조로 인해 Novel 보존을 논증했고, noise injection은 본질적으로 모든 클래스에 자연 잡음을 모사하므로 Novel도 보존한다고 설명</li>
</ul>
<h3 id="44-wdm-monitoring-pipeline">4.4 WDM monitoring pipeline</h3>
<blockquote>
<p>최종 파이프라인, 테스트 WDM $$w$$에 대해 N 개의 증강 맵 $$A_w$$을 만들고, 네트워크에 모두 통과시켜 novelty score와 classification score를 각각 평균한다.
평균 novelty score가 threshold를 넘으면 Novel로 판단하고, 아니면 known class 점수 평군이 최대인 클래스로 분류한다고 함. (N = 250으로 실험)
(7)과 (8) 수식은 위 내용을 포함하고 있다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/60e1497c-cf7c-435a-86e9-ae27b6a81afd/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9d2792ca-c7e5-4d22-8fc7-15d1220304d0/image.png" alt=""></p>
<h2 id="5-experiments">5. Experiments</h2>
<h3 id="51-setup">5.1 Setup</h3>
<ul>
<li><p>datasets:</p>
<ul>
<li>** STMicroelectronics의 Agrate Brianza(Italy) 공장에서 획득·라벨링된 ST dataset을 사용했고, 총 31,893개 WDM이라고 함. WDM는 Normal 또는 12개 결함 클래스 중 하나로 라벨링되어 있으며, Fig. 1(b)에 클래스 예시와 개수가 함께 제시**</li>
</ul>
</li>
<li><p>Open-set 평가 설계:</p>
<ul>
<li>일반적으로 CIFAR-100/ImageNet처럼 클래스가 많은 데이터에서 일부 클래스를 제외해 Novel로 둠 하지만, , 본 산업 데이터는 결함 클래스가 12개뿐이고 실제 novelty 라벨이 없다.</li>
<li>그래서 leave-one-out으로 12개의 결함 클래스 중 하나를 학습에서 제외하고, 그 클래스를 테스트에서 Novel로 간주하여 novelty detection 성능을 평가했다고 했다. Normal 클래스는 항상 known으로 둠</li>
</ul>
</li>
<li><p>Metric:</p>
<ol>
<li>confusion matrix</li>
<li>multi-class AUC 2개 (1vsRest-AUC, 1vs1-AUC)</li>
</ol>
</li>
</ul>
<h3 id="52-classification-of-known-classes">5.2 Classification of known classes</h3>
<blockquote>
<p>저자들은 먼저 13개 클래스에 대한 closed-set 분류 성능을 평가</p>
</blockquote>
<ul>
<li>학습/연산 환경<ul>
<li>Adam optimizer, NVIDIA Titan Xp GPU에서 100 epoch 학습에 약 8시간이 걸렸다고 했다. WDM 1개 분류 평균 시간은 0.061 ± 0.055초이며, 이는 N=250 증강 생성 및 처리 시간을 포함한다고 했다. SSC layer 연산량이 입력 sparsity에 의존하므로 클래스별로 시간 변동이 크다고 해석했다.</li>
</ul>
</li>
</ul>
<ul>
<li><p>비교 방법:</p>
<ul>
<li><p>제안 SSCN은 full-resolution WDM을 직접 처리한다.</p>
</li>
<li><p>비교군으로는 WDM를 20,000×20,000에서 224×224로 binning해 grayscale 이미지(픽셀 값=해당 bin 내 결함 수)로 만든 뒤, ImageNet pretrained VGG16과 ResNet50을 fine-tuning했다고 했다.</p>
</li>
<li><p>공정 분야에서 pretrained CNN fine-tuning이 표준적이어서 이를 비교군으로 삼았다고 했다.</p>
</li>
<li><p>custom wafer CNN(다른 논문)의 pretrained 파라미터가 공개되어 있지 않아, ST dataset 규모에서 scratch 학습은 과적합 위험이 커서 제외했다고 했다.</p>
</li>
</ul>
</li>
<li><p>증강 효과 실험: SSCN을 (i) 증강 없이, (ii) 전통적 기하 증강만, (iii) 제안 증강(노이즈 주입+랜덤 믹싱 포함)으로 비교했다고 했다. VGG16/ResNet50도 동일하게 비교했다고 했다.</p>
</li>
</ul>
<h4 id="result">Result</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/7b0bc5ce-8df4-49cc-a389-b2fc415d0b0f/image.png" alt=""></p>
<p>해당 confusion matrix는 SSCN이 전반적으로 높은 분류 정확도를 보임을 나타내며, 오분류는 주로 패턴이 <strong>유사한 클래스(예: ClusterSmall과 Incomplete)</strong> 사이에서 집중됨을 보여 준다.</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/03ef1b6d-14bd-45eb-acad-9e5b97203504/image.png" alt=""></p>
<p>해당 10-fold cross-validation 기반으로 클래스별 정확도와 1vsRest-AUC/1vs1-AUC를 제시하며, SSCN이 1vs1-AUC에서 최상위(rank=1)를 기록해 불균형 상황에서도 defect 클래스 분류 성능이 안정적임을 보여 준다. 또한 제안 증강(noise injection, random mixing)이 전통적 기하 증강 대비 성능 향상에 기여함을 차이값으로 제시한다.</p>
<ul>
<li><p>SSCN은 13개 클래스 중 6개 클래스에서 다른 방법보다 높은 정확도를 보였고, 전체적으로 <strong>1vs1-AUC 기준으로는 SSCN이 모든 fold에서 1위(avg rank=1)</strong>였다고 했다.</p>
</li>
<li><p>ResNet50은 Normal 클래스 정확도가 높아 1vsRest-AUC에서는 유리했으나, 클래스 비율 영향을 제거한 1vs1-AUC에서는 SSCN이 더 좋은 trade-off를 보였다고 해석했다.</p>
</li>
<li><p>증강을 제거하면 특히 소수 클래스 정확도가 크게 떨어졌고, 제안 증강이 불균형에 대한 강건성을 높인다고 결론냈다.</p>
</li>
</ul>
<h3 id="53-detection-of-novel-patterns">5.3 Detection of novel patterns</h3>
<blockquote>
<p>open-set 성능은 “leave-one-out로 특정 defect class를 Novel로 간주”하여 평가했다. 비교는 동일한 SSCN 기반에서 novelty score를 다르게 정의하는 방식으로 공정하게 수행했다고 함.</p>
</blockquote>
<ul>
<li><p>비교 기법: SoftMax baseline, PreSoftMax, OpenMax, SoftMax entropy(SME), latent 기반 Isolation Forest(IFOR), confidence interval(CI), 그리고 제안 GMM이라고 했다.</p>
</li>
<li><p>평가: Novel vs Known 이진 AUC로 비교하고, novel class별 AUC 및 평균 rank를 보고, Wilcoxon test로 유의성을 검정함. 일부 클래스에서는 Mann–Whitney test로 best vs second-best AUC 차이 유의성을 검정했다고 함.
<img src="https://velog.velcdn.com/images/jja_jja/post/357ba407-a8a5-4bcc-8320-f5ce77704f50/image.png" alt=""></p>
</li>
</ul>
<p>해당 Table에서는 leave-one-out로 정의한 Novel 클래스별 AUC를 비교한 결과로, 제안 GMM이 12개 중 8개 Novel 클래스에서 최고 성능을 기록하고 평균 rank에서도 1위를 차지함을 보여 준다. 또한 Wilcoxon 검정 결과를 통해 제안 방법이 다른 기준 방법들 대비 유의하게 성능이 높다는 점을 뒷받침한다.</p>
<h2 id="6-conclusion">6. Conclusion</h2>
<p>결론에서 저자들은 대규모 wafer 자동 모니터링이 산업적으로 중요하며, 본 논문은 WDM에 대한 open-set 패턴 인식을 다룬다고 정리했다. </p>
<p>Submanifold Sparse Convolution 기반의 단순한 딥러닝 모델이 full-resolution WDM 입력에서 클래스 불균형에 더 강건하며, 이는 WDM를 binning으로 줄이는 것이 정보 손실을 유발할 수 있음을 시사한다고 했다. </p>
<p>또한 WDM에서 open-set을 처음으로 다루고, SSCN latent에 GMM을 적합한 novelty detector가 기존 open-set 방법보다 우수하다고 결론냈다.</p>
<p>WDM 특화 증강이 성능에 중요하며, test-time augmentation도 known과 Novel 레이블 모두 보존하므로 open-set에서도 안전하다고 재강조했다.</p>
<p>추가로, 여러 STMicroelectronics 생산 사이트에 배포를 진행하고 있으며, point cloud를 다루는 다른 산업 문제로 확장도 연구 중이라고 했다. 향후에는 autoencoder latent가 GMM 분포를 따르도록 유도하는 기법을 참고해, classifier와 GMM을 joint training하는 방향을 연구 중이라고 했다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Enhancing Time Series Forecasting via
Multi-Level Text Alignment with LLMs (DASFAA 2025) ]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Enhancing-Time-Series-Forecasting-viaMulti-Level-Text-Alignment-with-LLMs-DASFAA-2025</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Enhancing-Time-Series-Forecasting-viaMulti-Level-Text-Alignment-with-LLMs-DASFAA-2025</guid>
            <pubDate>Thu, 12 Feb 2026 09:14:13 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>Motivation
계열 데이터의 연속성과 LLM의 이산적 토큰 간의 간극을 좁히고, 기존 텍스트 리프로그래밍(Reprogramming) 방식의 낮은 해석 가능성(Interpretability) 문제를 해결하고자 함.
Solution
시계열을 <strong>Trend, Seasonal, Residual</strong>로 분해한 뒤, 각 요소를 텍스트 앵커 및 프로토타입에 매핑하는 <strong>&#39;Multi-level text alignment&#39;</strong>를 제안. 뿐만 아니라 모델의 판단 근거를 설명할 수 있는 해석 가능성을 확보함.</p>
</blockquote>
<h2 id="1-introduction">1. Introduction</h2>
<blockquote>
<p>핵심 목표
&quot;시계열 데이터(연속적 수치)&quot;와 &quot;LLM(이산적 텍스트 토큰)&quot; 사이의 간극을 줄이고, <strong>해석 가능성</strong>을 높이는 것</p>
</blockquote>
<h3 id="11-problem-define">1.1 Problem Define</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e04a12dd-f7e8-4ae0-ac78-3a13c2371c7c/image.png" alt="">
figure 1: LLM을 활용한 시계열 예측에서 시계열 데이터를 텍스트 기반 표현과 정렬하는 다양한 접근 방식</p>
<p>(a): Contrastive Learning 방식: 시계열 데이터의 형태(Shape), 빈도(Frequency), 값(Value)을 분석하여 가장 유사한 단어 임베딩과 매핑</p>
<p>(b): Text Prototypes Reprogramming: 시계열 패치(Patch)를 선형 레이어(Linear)를 통해 &#39;텍스트 프로토타입&#39;으로 변환하여 LLM에 입력하는 방식</p>
<p>(c): Semantic Informed Prompt: 프롬프트 검색(Retrieval)을 통해 시계열 임베딩과 텍스트 사이를 연결하려 시도</p>
<p><strong>이러한 방식들은 텍스트 프로토타입을 임의로 선정하거나, 데이터의 실제 특성을 제대로 반영하지 못하는 경우가 많았음.</strong></p>
<p><strong>예시로, 실제로는 &#39;상승(Upward)&#39;하는 추세인데, 엉뚱하게 &#39;하락(Decline)&#39;이라는 단어와 매핑되거나 전혀 상관없는 단어와 연결되어 해석이 불가능해짐.</strong></p>
<blockquote>
<p>(d)와 같이 Proposed Anchors Alignment 방식</p>
</blockquote>
<ul>
<li>핵심 아이디어<ol>
<li>시계열을 통째로 넣는 대신, <strong>추세(Trend), 계절성(Seasonal), 잔차(Residual)</strong>의 세 가지 성분으로 분해</li>
<li>LLM이 이해할 수 있는 <strong>명확한 언어적 앵커(Anchors)</strong>를 사용하여 시계열을 설명하도록 유도</li>
</ol>
</li>
<li>설명<ul>
<li>User: give me several words described time series trend처럼 명시적으로 요청</li>
<li>모델은 increase, decrease, stable (증가, 감소, 안정)와 같이 사람이 직관적으로 이해할 수 있는 단어(앵커)들과 시계열 데이터를 alignment 수행</li>
<li>즉, 모호한 텍스트 프로토타입 대신, 구체적인 설명이 가능한 단어들과 매핑하여 예측의 정확도와 설명력을 동시에 높임 </li>
</ul>
</li>
</ul>
<h3 id="12-contributions">1.2 Contributions</h3>
<ol>
<li><p>backbone model 유지: LLM 자체를 수정하지 않고, 입력단의 Alignment 방식만 개선하여 효율성 확보</p>
</li>
<li><p>Multi-Level Text Alignment: 시계열을 분해(추세, 계절성, 잔차)하고 각 성분을 그에 맞는 텍스트 표현으로 변환하여, 정보 손실을 줄이고 해석력을 높임.</p>
<ul>
<li>추세(Trend) $\rightarrow$ 해석 가능한 앵커(increase, decrease 등)와 정렬.</li>
<li>계절성/잔차 $\rightarrow$ 전반적인 표현력 향상</li>
</ul>
</li>
<li><p>높은 성능 달성: 여러 TSF task에 맞는 benchmark datasets에 대해거 기존 SOTA보다 정확도가 높고 해석이 용이함을 증명함.</p>
</li>
</ol>
<h2 id="2-related-work">2. Related Work</h2>
<ul>
<li><p>기존 접근 방식</p>
<ul>
<li><p>시계열의 텍스트 변환 (Promptcast, LLMTime): 수치 데이터의 입출력을 프롬프트로 재구성하여, 시계열 예측을 &#39;문장 대 문장(Sentence-to-Sentence)&#39; 작업으로 변환해 처리함.</p>
</li>
<li><p>패치화 및 미세 조정 (GPT4TS, TEMPO): 시계열 데이터를 패치(Patch) 단위로 토큰화하거나, 사전 학습된 LLM의 일부(Add&amp;Norm 레이어 등)를 미세 조정(Fine-tuning)하여 적용함.</p>
</li>
<li><p>검색 기반 프롬프트 (S2IP-LLM): 의미론적(Semantic) 프롬프트나 검색(Retrieval) 기반 방식을 통해 시계열 임베딩과 텍스트 정보를 연결함.</p>
</li>
<li><p>프로토타입 기반 정렬 (TEST, TimeLLM): 대조 학습을 통해 시계열을 단어 임베딩에 매핑하거나(TEST), 백본 모델 수정 없이 텍스트 프로토타입으로 리프로그래밍(TimeLLM)함.</p>
</li>
</ul>
</li>
<li><p>주요 한계</p>
<ul>
<li><p>해석 가능성(Interpretability) 결여: 시계열을 단순한 토큰 시퀀스로만 취급하여 데이터 고유의 시간적 구조(Temporal Structure)를 무시하는 경향이 있음.</p>
</li>
<li><p>매핑의 부정확성: 주로 &quot;시계열 $\rightarrow$ 패턴 $\rightarrow$ 텍스트&quot;의 패러다임을 따르는데, 이 과정에서 임의로 선택된 텍스트 프로토타입이 데이터의 실제 특성을 제대로 반영하지 못함.</p>
</li>
<li><p>모델 투명성 저하: 잘못된 정렬(Alignment)로 인해 예측 정확도가 떨어지며, 모델이 왜 그러한 예측을 했는지 설명하기 어려움(다변량 시계열에서 특히 두드러짐).</p>
</li>
</ul>
</li>
</ul>
<h2 id="3-methodology">3. Methodology</h2>
<blockquote>
<p>본 연구는 시계열 데이터를 성분별로 분해해 텍스트 앵커와 정렬하는 <strong>4단계 프레임워크(분해, 정렬, 프롬프트, 투영)</strong>를 적용하고, <strong>미세 조정 없는 GPT-2(초기 6개 층)</strong>를 백본으로 활용하여 해석 가능한 예측을 수행</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/15894057-48f3-4b02-a08a-78be2fc4e860/image.png" alt=""></p>
<h3 id="31-time-series-input-decomposition">3.1 Time Series Input Decomposition</h3>
<ul>
<li><p>Decomposition
$$X^{(i)} = X_T^{(i)} (추세) +
X_S^{(i)} (계절성) + X_R^{(i)} (잔차)$$</p>
<ul>
<li><p>추세 ($X_T$): 이동 평균(Moving Average) 등을 통해 장기적인 패턴을 추출</p>
</li>
<li><p>계절성 ($X_S$): 반복되는 단기 사이클을 추출</p>
</li>
<li><p>잔차 ($X_R$): 위 두 요소를 뺀 나머지 불규칙한 변동</p>
</li>
<li><p>분해 방법으로는 이동 평균법이나 STL(Seasonal-Trend decomposition using Loess)  </p>
</li>
</ul>
</li>
</ul>
<ul>
<li>Patching:<ul>
<li>분해된 각 성분(T, S, R)을 LLM이 처리할 수 있는 토큰 단위인 <strong>패치(Patch)</strong>로 자름</li>
<li>이 과정은 긴 시계열 데이터를 작은 조각($P_T, P_S, P_R$)으로 나누어 임베딩할 준비를 하는 단계</li>
</ul>
</li>
</ul>
<h3 id="32-multi-level-text-alignment">3.2 Multi-level text alignment</h3>
<ul>
<li><p>추세(Trend) 정렬 $\rightarrow$ 해석 가능성(Interpretability) 초점:추세는 사람이 말로 설명하기 쉬움 (예: &quot;증가한다&quot;, &quot;감소한다&quot;, &quot;안정적이다&quot;).</p>
</li>
<li><p>따라서 추세 패치($P_T$)는 <strong>사전에 정의된 텍스트 앵커(Anchors, $W_{trend}$)</strong>와 직접 정렬 이를 통해 모델이 &quot;이 데이터는 상승 추세다&quot;라고 명확히 이해하게 만듬</p>
</li>
<li><p>계절성(Seasonal) &amp; 잔차(Residual) 정렬 $\rightarrow$ 정보 표현력 초점:이들은 단순한 단어로 정의하기 어렵습니다. 따라서 사전 학습된 LLM의 <strong>단어 임베딩 공간($E$)</strong>에서 학습된 <strong>텍스트 프로토타입($E&#39;<em>{seasonal}, E&#39;</em>{residual}$)</strong>과 정렬</p>
<ul>
<li>잔차($Residual$)가 계절성보다 불규칙하므로, 잔차를 표현하는 프로토타입의 개수($V&#39;$)를 더 많이 할당하여 표현력을 높임</li>
</ul>
</li>
<li><p>정렬 메커니즘 (Multi-Head Cross-Attention):시계열 패치를 <strong>Query(Q)</strong>로, 텍스트 앵커/프로토타입을 <strong>Key(K)</strong>와 <strong>Value(V)</strong>로 사용하여 어텐션 연산을 수행 </p>
<ul>
<li>수식: $Z_T^{(i)} = \text{Attention}(Q_T^{(i)}, K_T^{(i)}, V_T^{(i)})$이 과정을 통해 시계열 데이터가 <strong>텍스트의 의미를 담은 임베딩($Z$)</strong>으로 변환</li>
</ul>
</li>
</ul>
<h3 id="33-component-specific-prompts">3.3 Component-specific prompts</h3>
<blockquote>
<p>정렬된 임베딩만 넣는 것이 아니라, LLM이 작업을 더 잘 수행하도록 텍스트 지시사항(Prompt)을 함께 넣어줌</p>
</blockquote>
<ul>
<li><p>프롬프트 구성:</p>
<ul>
<li><p>도메인 지식: 데이터셋의 배경 정보</p>
</li>
<li><p>통계적 특징: 데이터의 평균, 분산 등 요약 정보</p>
</li>
<li><p>작업 지시(Task Instruction): &quot;지난 512 스텝의 [추세, 계절성, 잔차]를 보고 다음 96 스텝을 예측하라&quot;는 식의 템플릿</p>
</li>
</ul>
</li>
<li><p>백본 모델 (Backbone LLM):</p>
<ul>
<li>GPT-2의 초기 6개 레이어 사용</li>
<li>중요한 점은 GPT-2를 미세 조정(Fine-tuning)하지 않고 Frozen 상태로 사용</li>
<li>오직 앞단의 정렬 모듈과 뒷단의 투영 레이어만 학습</li>
</ul>
</li>
</ul>
<h3 id="34-output-projection">3.4 Output Projection</h3>
<blockquote>
<p>LLM을 통과한 결과물을 다시 시계열 수치로 변환</p>
</blockquote>
<ul>
<li><p>Linear Projection</p>
<ul>
<li>LLM에서 나온 출력 임베딩을 선형 레이어(Linear Layer)에 통과시켜 각 성분별 예측값을 만듬 </li>
</ul>
</li>
<li><p>역정규화 및 합산 (De-Norm &amp; Summation)</p>
<ul>
<li>정규화되었던 값을 다시 원래 스케일로 돌려놓음(De-Norm).</li>
<li>마지막으로 예측된 추세($\hat{X}_T$), 계절성($\hat{X}_S$), 잔차($\hat{X}_R$)를 모두 더하여 최종 예측값 $\hat{X}$를 도출</li>
</ul>
</li>
</ul>
<h2 id="4-experiments">4. Experiments</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/29d2bab9-2e2a-4897-96db-f97835721d0c/image.png" alt=""></p>
<ul>
<li><p>목적: 최신 SOTA 모델(PatchTST, DLinear, TimeLLM 등) 대비 장기·단기·퓨샷 예측 성능의 우수성 입증 .</p>
</li>
<li><p>실험 설정</p>
<ul>
<li><p>데이터셋: ETT 계열, Weather, ECL, Traffic 등 7종 (입력 길이 512, 예측 범위 96~720)</p>
</li>
<li><p>백본 모델: 공정한 비교를 위해 GPT-2의 초기 6개 레이어만 사용 (TimeLLM, GPT4TS와 동일 조건) .</p>
<ul>
<li><p>평가 지표: MSE(평균 제곱 오차), MAE(평균 절대 오차) .</p>
</li>
<li><p>결과: 대부분의 벤치마크에서 가장 낮은 오차율을 기록했으며, 특히 Weather와 ETTm1 데이터셋에서는 기존 최고 모델(LLM4TS) 대비 20% 이상 성능 향상을 달성함 .</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/bc9659fb-d51e-465f-a26f-b2dc5514abe7/image.png" alt=""></p>
<ul>
<li><p>Zero shot train</p>
<ul>
<li>특정 데이터셋에서 훈련된 모델이, 한 번도 보지 못한 다른 데이터셋에 대해 추가적인 fine-tuning 없이 얼마나 잘 예측하는지를 평가</li>
</ul>
</li>
<li><p>Zero shot task에서 좋은 성능을 보임</p>
<ul>
<li>ETTm2 → ETTm1 (location 차이)
ETTm datasets → 15분 단위의 고주파 데이터 (변동성이 크고, 노이즈가 많을 수 있음)
ETTm2 datasets 자체에 대해서 trend seasonal residual 등이 anchor alignment이 덜 부합한 것으로 생각</li>
</ul>
</li>
</ul>
<h3 id="41-multi-level-text-alignment-variants">4.1 Multi-level text alignment variants</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/92d3261d-fa54-4891-a06e-259f90466c0f/image.png" alt=""></p>
<ol>
<li><p>정렬(Alignment) 과정이 없으면 성능이 75% 이상 급락하므로, 추세·계절성·잔차 3가지 성분 모두를 정렬하는 것이 필수</p>
</li>
<li><p>의미 없는 단어를 앵커로 사용하면 오차가 커지지만, 동의어를 사용하면 성능 차이가 없어 모델이 단어의 실제 &#39;의미&#39;를 파악하고 있음을 입증</p>
</li>
<li><p>단순한 데이터 입력보다 좋은 작업 지시문과 도메인 지식을 함께 제공해야 LLM의 추론 능력을 극대화하여 예측 정확도를 높일 수 있음</p>
</li>
</ol>
<h3 id="42-multi-level-text-alignment-interpretation">4.2 Multi-level text alignment interpretation</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d7e47a1e-64ed-493d-bcc6-a80407f616d4/image.png" alt=""></p>
<ul>
<li><p>실험방법
ETTm1 데이터셋을 사용하여, 시계열의 Trend Patches와 미리 정의된 앵커 단어들 사이의 Attention Score를 히트맵으로 표현</p>
</li>
<li><p>결과</p>
<ul>
<li><p>(a) Synonymous Anchors: &#39;상승(rise, increase)&#39;이나 &#39;하락(drop, decrease)&#39;과 같은 단어들이 실제 해당 추세를 보이는 시계열 구간에서 높은 score값</p>
</li>
<li><p>(b) Noise Anchors: &#39;새(bird)&#39;, &#39;초콜릿(chocolate)&#39;처럼 시계열과 무관한 단어들을 앵커로 사용했을 때는 score값 낮음</p>
</li>
</ul>
</li>
</ul>
<h2 id="5-conclusion-and-future-work">5. Conclusion and future work</h2>
<ol>
<li><p>결론: 사전 학습된 LLM을 활용해 시계열 성분을 텍스트 앵커 및 프로토타입과 정교하게 매핑하는 &#39;다단계 텍스트 정렬 프레임워크&#39;를 제안하여 예측 정확도와 해석 가능성을 동시에 향상</p>
</li>
<li><p>성과: 실험을 통해 텍스트 앵커와 정렬된 시계열 토큰이 데이터의 추세를 명확하고 직관적으로 설명할 수 있음을 입증</p>
</li>
<li><p>향후 과제: 앵커와 토큰 간의 정렬 모듈을 더욱 최적화하고, 시계열과 자연어 등 다양한 데이터를 아울러 공동 추론(Joint Reasoning)이 가능한 멀티모달 모델로 확장할 계획</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Machine node-enhanced graph contrastive learning with long-range
prompt model for quality propagation in multistage manufacturing systems (2025.08 Manufacturing Systems Journal)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Machine-node-enhanced-graph-contrastive-learning-with-long-rangeprompt-model-for-quality-propagation-in-multistage-manufacturing-systems-2025.08-Manufacturing-Systems-Journal</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Machine-node-enhanced-graph-contrastive-learning-with-long-rangeprompt-model-for-quality-propagation-in-multistage-manufacturing-systems-2025.08-Manufacturing-Systems-Journal</guid>
            <pubDate>Tue, 03 Feb 2026 12:03:29 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.sciencedirect.com/science/article/pii/S027861252500127X?ref=pdf_download&amp;fr=RR-2&amp;rr=9c81359bbaabc368">원문 paper는 해당 링크를 참고해주시길 바랍니다.</a></p>
<h2 id="0-abstract">0. Abstract</h2>
<p>현대의 제조 공정은 더욱 복잡한 <strong>다단계 제조 시스템(MMSs, Multistage Manufacturing Systems)</strong>이 주류를 이루고 있다. 이에 따라 공정이 복잡해짐에 따라 <strong>품질 전파(Quality Propagation)</strong>를 예측하는 것이 매우 중요해졌다. 딥러닝이 해결책으로 떠올랐지만, 기존 모델들은 1. 개별 공정만 보거나, 2. 실제 공정 흐름을 무시하거나, 3. 라벨링 된 데이터에만 의존하여 노이즈에 취약하다는 한계가 있었다.</p>
<p>본 논문은 이러한 문제를 해결하기 위해 MNGCLP (Machine Node-enhanced Graph Contrastive Learning with Long-range Prompt) 모델을 제안한다. 이 모델의 핵심은 다음과 같다.</p>
<h3 id="solution">Solution</h3>
<p><strong>MNGCLP (Machine Node-enhanced Graph Contrastive Learning with Long-range Prompt) 모델을 제안</strong></p>
<ul>
<li><p>1단계: 기계 간의 생산 관계를 모델링하여 생산 공정 그래프(Production process graph)를 형성한다.</p>
</li>
<li><p>2단계: 대조 학습 기반의 사전 훈련 과정에서 기계 강화 그래프(Machine-enhanced graph)를 설계한다. 이는 생산 공정의 논리를 위반하지 않으면서 생산 정보를 추가하고, 라벨 의존도를 낮추는 역할을 한다.</p>
</li>
</ul>
<ul>
<li>3단계: 사전 훈련된 모델을 미세 조정(Fine-tuning)하기 위해 원본 그래프에서 포착된 기계 노드 간의 장거리 관계(Long-distance relationship)를 Prompt로 사용한다.</li>
</ul>
<blockquote>
<p>지도 학습 기반 그래프 신경망(Supervised GNN) 대비 RMSE는 2.4%, MSE는 4.8%, MAE는 9.8% 향상되었으며, 
대조 학습 기반 그래프 신경망(Contrastive GNN) 대비 RMSE는 2.5%, MSE는 5.0%, MAE는 6.3% 향상되었다.
이에 따라 MNGCLP 모델은 전통적인 모델보다 우수한 성능을 보였으며 예측 결과에 대한 합리적인 설명을 제공하였다.</p>
</blockquote>
<p>친절하게 용어 설명 부분도 따로 제공해준다.
<img src="https://velog.velcdn.com/images/jja_jja/post/d50f3176-3f1e-4a2d-82bf-9d8d9cd2b65d/image.png" alt=""></p>
<h2 id="1-introduction">1. Introduction</h2>
<h3 id="11-motivation">1.1 Motivation</h3>
<p>과거의 공장은 단순한 직렬구조였지만, 현대의 <strong>다단계 제조 시스템(MMSs)</strong>은 기계들이 직렬과 병렬로 복잡하게 얽힌 &#39;직렬-병렬 하이브리드(Serial-Parallel Hybrid)&#39; 형태를 띤다. 이런 환경에서는 앞단 기계의 미세한 오차가 뒷단으로 넘어가며 증폭되거나 변형되는 품질 전파(Quality Propagation) 현상이 발생한다. 마치 나비 효과처럼, 초기 단계의 작은 변수가 최종 제품의 품질을 결정짓는 핵심 요인이 되는 것이다.</p>
<h3 id="12-problem-definition---기존-연구">1.2 Problem Definition - 기존 연구</h3>
<ol>
<li><p>단일 단계 모델의 한계: <strong>기존의 단일 단계 모델은 개별 기계나 단일 단계의 품질만을 예측</strong>할 뿐, 공정 간의 품질 전파(Quality Propagation) 효과를 무시한다.</p>
</li>
<li><p>기존 다단계 모델의 한계: 일부 모델이 품질 전파를 고려하긴 하나, <strong>단순히 단계 내의 기계 특성(Feature)을 집계하는 수준에 그치거나 실제 생산 공정과 일치하지 않는 기계 간 공간 관계를 사용</strong>한다.</p>
</li>
<li><p>데이터 의존성 문제: 전통적인 모델은 라벨 데이터(정답 데이터)에 대한 의존도가 매우 높다. 따라서 <strong>노이즈가 섞인 데이터를 충분히 활용하기 어렵고, 이는 예측 정확도 저하와 해석 가능성 부족</strong>으로 이어진다.</p>
</li>
</ol>
<h3 id="13-contribution">1.3 Contribution</h3>
<ul>
<li><strong>&quot;라벨이 부족하고 노이즈가 많은 현실 공장 데이터&quot;</strong>를 제대로 활용하기 위해 <strong>그래프 대조 학습(Graph Contrastive Learning)</strong> 제안</li>
<li>정답(Label)이 없어도 데이터 자체의 구조를 학습할 수 있는 <strong>자기 지도 학습(Self-supervised Learning)</strong>을 사용</li>
<li>기존 대조 학습은 그래프를 무작위로 자르거나 변형했지만, 공장 프로세스를 함부로 끊으면 문제 발생 따라서, <strong>실제 생산 공정의 흐름을 해치지 않으면서 기계 노드를 강화(Enhancement)</strong>하는 새로운 기법 적용</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/41396215-66aa-4d20-afc5-80a3f2fd9f9e/image.png" alt=""></p>
<p><strong>기존 모델들의 한계와 MNGCLP의 접근 방식을 위 그림으로 명확히 비교</strong></p>
<p>(a) Multistage manufacturing systems: 현대의 공정은 그림처럼 Stage 1의 여러 기계(병렬)가 Stage 2(직렬)로 합쳐지는 복잡한 구조</p>
<p>(b) Traditional Model (기존 모델): 단순히 각 단계의 기계 특징(Feature)을 <strong>더하기(Fusing)</strong>만 한다. 기계끼리 어떻게 영향을 주고받는지(화살표)는 무시된다.</p>
<p>(c) Graph-based Model (그래프 모델): 기계들을 연결했지만, 실제 공정 흐름과 맞지 않거나(Inconsistent), 노이즈/라벨 없는 데이터를 활용하지 못하는 한계 존재</p>
<blockquote>
<p>(d) MNGCLP (제안 모델):</p>
</blockquote>
<ul>
<li>그래프 구축: 실제 공정 흐름 그대로 그래프를 그린다.</li>
<li>Pre-training (사전 훈련): <strong>기계 노드 강화(Enhancement)</strong>를 통해 정답 라벨이 없어도 다양한 전파 경로를 미리 학습한다 .</li>
<li>Fine-tuning (미세 조정): 마지막으로 <strong>장거리 프롬프트(Prompt)</strong>를 사용해 멀리 떨어진 기계 간의 영향력까지 고려하여 최종 품질을 예측한다.</li>
</ul>
<h2 id="2-literature-review">2. Literature review</h2>
<blockquote>
<p>크게 단일 단계 예측, 다단계 예측, 그리고 그래프 대조 학습의 흐름으로 기존 연구를 분석</p>
</blockquote>
<p><strong>1. 단일 단계 품질 예측 (Single-stage Quality Prediction)</strong>
초기 연구들은 복잡한 공정 전체를 보기보다는, 개별 기계나 특정 단계의 품질을 맞추는 데 집중했다.</p>
<ul>
<li>머신러닝(ML) 기반: 데이터 불균형 문제를 해결하기 위해 향상된 트리 모델을 사용하거나, 작은 데이터셋에서 부스팅(Boosting) 기법을 활용했다.</li>
<li>딥러닝(DL) 기반: CNN을 활용해 고품질 라벨에 대한 의존도를 낮추거나 , 동적 특징 추출 네트워크를 도입해 성능을 높였다.</li>
</ul>
<p><strong>하지만 한계로, 이 방법들은 단일 단계 공정에만 초점을 맞추고 있어, MMSs(다단계 제조 시스템)에서 단계와 단계 사이로 품질 영향이 퍼져나가는 전파 효과(Propagation effects)를 무시한다.</strong></p>
<p><strong>2. 다단계 품질 예측 (Multistage Quality Prediction)</strong>
공정이 복잡해지면서, 여러 단계를 아우르는 모델들이 등장했다.</p>
<ul>
<li><p>통계 및 ML 접근: PCA와 연관 규칙을 결합하거나, 엔트로피 정보를 이용해 중요한 특징을 선택한 후 랜덤 포레스트(RF)를 쌓아 올리는 방식이 제안되었다 .</p>
</li>
<li><p>딥러닝 접근</p>
<ul>
<li>DMMTL (Deep Multistage Multi-Task Learning): 비선형 은닉 상태 표현을 사용하여 다단계 제품의 다중 출력 예측을 수행했다 .</li>
</ul>
</li>
</ul>
<ul>
<li>SDK (Stochastic Depth Koopman): 품질 정보의 전파를 선형화하여 모델의 해석 가능성을 높였다.<ul>
<li>LSTM: 양방향 직렬-병렬 LSTM 모델을 도입해 데이터 이상치를 처리하기도 했다.</li>
</ul>
</li>
</ul>
<p><strong>하지만 이 또한 한계가 존재하는데, 1. 구조적 한계: 대부분 직렬(Serial) 생산 공정에만 적용 가능하며, 단계 내의 복잡한 병렬 흐름 관계를 무시하고, 2. 라벨이 없거나 노이즈가 섞인 데이터는 활용하지 못한다.</strong></p>
<p><strong>3. 그래프 신경망과 대조 학습의 등장 (GNN &amp; GCL)</strong>
여기서 그래프(Graph) 데이터 구조가 구원투수로 등장한다. 그래프는 기계(노드)와 공정(엣지)의 관계를 표현하는 데 탁월하기 때문이다.</p>
<ul>
<li>그래프 신경망 (GNN): PGAT(Path Enhanced Bidirectional Graph Attention Network) 같은 모델은 기계 간의 장거리 의존성을 학습하는 데 성공했다. <strong>하지만 여전히 고품질 라벨 데이터에 크게 의존한다는 한계</strong></li>
</ul>
<blockquote>
<p>이 문제를 해결하기 위해 <strong>그래프 대조 학습(Graph Contrastive Learning, GCL)</strong>이 도입되었다. GCL은 라벨이 없어도 데이터 자체의 구조를 학습(Self-supervised)하여 라벨 의존도를 낮춘다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/3f7003b3-a9f2-47d1-9a18-77357f824f41/image.png" alt=""></p>
<p>위 Table 1처럼,</p>
<ol>
<li><p>생산 단계 내 기계들의 복잡한 상호 의존성을 모델링한다.</p>
</li>
<li><p>각 단계의 다중 품질 지표를 동시에 예측한다.</p>
</li>
<li><p>노이즈가 있는 라벨 데이터도 효과적으로 활용한다.</p>
</li>
</ol>
<h2 id="3-proposed-framework">3. Proposed Framework</h2>
<blockquote>
<p>해당 section에서는 제안한 모델에 대해서 더 깊게 설명한다
앞서서도 언급한 것처럼, MNGCLP 모델은 크게  데이터 전처리 및 그래프 구축, 사전 훈련(Pre-training), 그리고 <strong>미세 조정(Fine-tuning)</strong>의 3단계로 나뉜다.</p>
</blockquote>
<h3 id="31-problem-definition---공장의-문제">3.1 Problem Definition - 공장의 문제</h3>
<p>MNGCLP 모델을 이해하기 위해서는 먼저 해결하려는 문제가 무엇인지, 그리고 공장의 요소들이 수식으로 어떻게 정의되는지 명확히 해야 한다. </p>
<p>핵심은 <strong>&quot;복잡한 관계를 가진 기계들의 특징을 입력받아, 노이즈가 섞인 환경에서도 최종 품질을 정확히 예측하는 것&quot;</strong>이다.</p>
<p><strong>1. 기계와 특징 (Machines &amp; Features)</strong>
공장은 수많은 기계($M$)의 집합이다. 각 기계는 저마다의 상태 값을 가진다.</p>
<ul>
<li>기계 ($M_m$): 전체 기계 집합 $\mathcal{M}$에 속한 개별 기계.</li>
<li>특징 ($x_m$): 각 기계의 설정값(모터 속도, 압력 등)이나 원자재 속성. 이를 $F_m$ 차원의 벡터 $x_m$으로 정의한다.</li>
</ul>
<p><strong>2. 예측 목표: 품질 지표 (Quality Indicators)</strong>
각 생산 단계($k$)마다 우리가 맞춰야 할 정답(Target)이다.</p>
<ul>
<li>품질 ($y_k$): $k$ 단계의 품질 측정값 집합 $y_k = {y_{k,1}, ..., y_{k,n_y^k}}$이다.</li>
<li>문제: 실제 데이터는 <strong>노이즈(Noise)</strong>가 많고, 기계 간의 상호작용으로 인해 품질이 <strong>비선형(Nonlinear)</strong>적으로 변해 예측이 매우 까다롭다.</li>
</ul>
<p><strong>3. 핵심 내용: 생산 공정 그래프 (Production Process Graph)</strong>
기계들을 독립적으로 보지 않고, <strong>&#39;연결된 관계&#39;</strong>로 파악하기 위해 그래프를 그린다.</p>
<ul>
<li>그래프 ($G$): $G = (\mathcal{V}, \mathcal{E})$<ul>
<li>노드 ($\mathcal{V}$): 기계 그 자체.</li>
<li>엣지 ($\mathcal{E}$): 제품이 이동하는 생산 흐름.</li>
</ul>
</li>
<li>인접 행렬 ($A$): 기계 간의 연결도. 기계 $a$에서 $b$로 제품이 넘어가면 $A_{a,b}=1$로 표시한다.</li>
</ul>
<p><strong>4. MNGCLP의 최종 목표 (Goal)결국 이 모델이 하고자 하는 것은 다음 한 문장으로 요약된다.</strong>
<strong>&quot;기계 특징($X$)과 연결 관계($A$)를 입력으로 받아, 노이즈를 이겨내고 각 단계의 품질($Y$)을 정확히 맞추는 것.&quot;</strong></p>
<ul>
<li><p>이를 위해 MNGCLP는 두 단계로 문제를 푼다.</p>
<ul>
<li><p>사전 훈련 ($f_{en}$): 정답 없이 기계 간의 <strong>전파 효과(Propagation effects)</strong>를 먼저 공부한다.</p>
</li>
<li><p>다중 작업 예측 ($f_r$): 공부한 내용을 바탕으로 여러 품질 지표를 동시에 예측한다.</p>
<p>$$h_G^k = f_{en}(X, A; \theta_{en})$$</p>
<p>$$y_k = f_r^k(h_G^k; \theta_r^k)$$</p>
</li>
</ul>
</li>
</ul>
<h3 id="32-machine-node-enhanced-graph-contrastive-learning-with-long-range-prompt-framework">3.2 Machine node-enhanced graph contrastive learning with long-range prompt framework</h3>
<blockquote>
<p>원 논문에서는 수식 관련한 내용들이 많지만, 수식에 대한 설명은 최소한으로 정리하고자 한다.. (내용이 방대하다.)</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/dbef2cb8-3825-4053-ba1c-abc65bc24e70/image.png" alt="">
<strong>전체 Framework</strong></p>
<p>*<em>1) 데이터 전처리 및 생산 공정 그래프 구축 (Data Pre-processing &amp; Graph Construction) *</em></p>
<ul>
<li><p><strong>Figure 2의 상단(Purple Box)</strong>에 해당하는 부분이다.</p>
</li>
<li><p>데이터 수집: 초기 단계 기계의 원자재 속성과 가공 매개변수, 후속 기계들의 가공 매개변수를 수집한다.</p>
</li>
<li><p>정규화(Normalization): 데이터 품질을 높이기 위해 수집된 데이터를 정규화한다.</p>
</li>
<li><p>그래프 변환: 각 기계를 <strong>노드(Node)</strong>로, 기계 간의 생산 흐름을 <strong>엣지(Edge)</strong>로 설정하여 <strong>생산 공정 그래프(Production Process Graph)</strong>를 생성한다. 이를 통해 직렬 및 병렬 기계 간의 제품 전파 영향을 모델링한다 .</p>
</li>
</ul>
<p><strong>2) 기계 노드 기반 그래프 대조 사전 훈련 (Pre-training)</strong></p>
<ul>
<li><p><strong>Figure 2의 좌측 하단(Blue Box)</strong>에 해당하는 부분이다. </p>
</li>
<li><p>이 단계의 목표는 품질 라벨 없이 기계 간의 인접한 전파 효과(Adjacent Propagation Effects)를 학습하는 것이다.</p>
</li>
<li><p>배경: 라벨 데이터에 노이즈가 많거나 라벨링이 어려운 경우, 이를 모두 제거하면 학습할 데이터가 부족해진다. 따라서 라벨이 없는 데이터까지 모두 활용하기 위해 자기 지도 학습(Self-supervised Learning) 방식인 대조 학습을 도입한다 .</p>
</li>
<li><p>기계 노드 강화(Machine Node Enhancement): 기존 대조 학습처럼 노드를 무작위로 삭제하면 공정이 끊긴다. 대신, 인접한 기계 노드 쌍을 융합하여 새로운 노드를 추가하거나 <strong>역방향 엣지(Reverse Edge)</strong>를 추가하는 증강 기법을 사용한다.</p>
</li>
</ul>
<ul>
<li>효과: 이를 통해 모델은 생산 공정의 흐름을 위반하지 않으면서도 다양한 관계 패턴을 학습하게 되며, 라벨 노이즈에 강건한 특징 표현을 익힌다 .</li>
</ul>
<p><strong>3) 장거리 프롬프트 미세 조정을 통한 다중 작업 예측 (Fine-tuning)</strong></p>
<ul>
<li><strong>Figure 2의 우측 하단(Red Box)</strong>에 해당하는 부분이다. </li>
<li>사전 훈련된 모델은 인접한 관계는 잘 알지만, 멀리 떨어진 기계 간의 관계(Global Interaction)를 파악하는 데는 한계가 있다. 이를 장거리 프롬프트로 보완한다.</li>
</ul>
<ul>
<li><p>Transformer 기반 프롬프트: Transformer를 사용하여 기계 노드 간의 장거리(Long-distance) 관계 정보를 포착하고, 이를 &#39;프롬프트(Prompt)&#39; 형태로 그래프에 추가한다 .</p>
</li>
<li><p>다중 작업 예측(Multi-task Prediction): 사전 훈련된 그래프 인코더에 프롬프트를 적용하여 각 단계의 특징을 추출하고, 이를 통해 여러 품질 지표를 동시에 예측한다.</p>
</li>
</ul>
<ul>
<li>최종 학습: 소량의 고품질 라벨 데이터를 사용하여 전체 모델을 미세 조정(Fine-tuning)함으로써, 사전 훈련과 실제 예측 작업 사이의 격차(Gap)를 줄이고 예측 성능을 극대화한다 .</li>
</ul>
<h2 id="33-the-model-construction-of-proposed-mngclp">3.3 The model construction of proposed MNGCLP</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/4ef4f266-74b2-427a-8b09-1e7727e5a710/image.png" alt=""></p>
<blockquote>
<p>이 섹션에서는 제안된 MNGCLP 모델의 상세 구축 과정을 다룬다. 모델은 크게 ① 공정 그래프 구축 및 임베딩, ② 기계 노드 강화 그래프 대조 학습(사전 훈련), <strong>③ 프롬프트 미세 조정을 통한 다중 작업 예측(미세 조정)</strong>의 세 가지 핵심 모듈로 구성된다 .</p>
</blockquote>
<h3 id="331-process-graph-construction--embedding">3.3.1 Process Graph Construction &amp; Embedding</h3>
<p>이 모듈은 복잡한 제조 데이터를 그래프 구조로 변환하여 기계 간의 전파 효과를 학습할 준비를 하는 단계이다.</p>
<ul>
<li>기계($m$)를 노드, 생산 흐름을 <strong>유향 엣지(Directed Edge)</strong>로 정의하여 그래프 $\mathcal{G}$를 생성한다.</li>
<li>각 기계의 다양한 특징(원자재, 공정 변수 등)을 MLP(다층 퍼셉트론)에 통과시켜 동일한 차원의 벡터 $x_m^e$로 임베딩한다.</li>
</ul>
<p><strong>Figure 3(a) 설명</strong></p>
<ul>
<li>Input Production Process: 왼쪽 박스는 실제 공정이다. Stage 1의 병렬 기계들과 Stage 2의 기계들이 복잡하게 연결되어 있다.</li>
<li>Production Process Graph $\mathcal{G}$: 가운데 그림처럼 실제 공정을 노드($m_1 \sim m_7$)와 화살표로 변환한다.</li>
<li>Embedding: 오른쪽으로 넘어가며, 각 노드의 특징 벡터가 MLP, BatchNorm, ReLU를 거쳐 임베딩 벡터로 변환되는 과정을 보여준다.</li>
</ul>
<h3 id="332-machine-node-enhanced-graph-contrastive-learning">3.3.2 Machine Node-Enhanced Graph Contrastive Learning</h3>
<p>이 모듈은 라벨이 없는 데이터를 활용해 기계 간의 인접한 전파 효과를 <strong>사전 훈련(Pre-training)</strong>하는 단계이다.</p>
<ul>
<li>증강(Augmentation): 기존의 노드 삭제 방식 대신, 생산 공정을 유지하기 위해 <strong>기계 노드 추가(AMN)</strong>와 <strong>역방향 엣지 추가(RPE)</strong>를 사용한다.</li>
<li>대조 학습: 원본 그래프에서 파생된 두 증강 그래프($\hat{\mathcal{G}}^1, \hat{\mathcal{G}}^2$)가 서로 유사한 표현을 갖도록(Maximize Agreement) 학습한다.</li>
</ul>
<p><strong>Figure 3(b) 설명</strong></p>
<ul>
<li>Node Augmentation (왼쪽): 인접한 두 기계 노드($m_1, m_3$)의 특징을 섞어(Mixup) 새로운 가상 노드 $m_{z_{1,3}}$를 만들고 그래프에 추가하는 과정이다.</li>
<li>Add Edge &amp; Node (가운데): 붉은 점선 화살표로 역방향 엣지가 추가되고, 노란색 점선 원으로 새로운 노드가 추가된 두 개의 증강 그래프($\hat{\mathcal{G}}^1, \hat{\mathcal{G}}^2$)를 보여준다.</li>
<li>Contrastive Learning (오른쪽): 두 증강 그래프가 파라미터를 공유하는 <strong>Graph Encoder $f(\cdot)$</strong>를 통과해 특징($h$)을 추출하고, Projection Head를 거쳐 최종적으로 두 특징 간의 일치도를 최대화하는 학습 과정을 나타낸다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/bb0a7054-5d04-4c63-a9ee-066757b2f4c4/image.png" alt=""></p>
<p><strong>Algorithm 1 설명: 그래프 대조 학습 절차</strong></p>
<p><strong>1. 초기화: 공정 그래프 $\mathcal{G}$를 구축하고 기계 특징을 임베딩한다.</strong></p>
<p><strong>2. 반복 학습 (Epochs)</strong></p>
<ul>
<li><p>각 배치(Batch)마다 그래프 증강 함수 $\mathcal{T}$를 적용하여 두 개의 증강 그래프 $\hat{\mathcal{G}}^1, \hat{\mathcal{G}}^2$를 생성한다.</p>
</li>
<li><p>그래프 인코더($f_{en}$)를 통해 각 단계별 특징($h$)을 추출하고, 매핑 네트워크($MLP^p$)로 투영($z$)한다.</p>
</li>
<li><p>두 증강 그래프 간의 유사도를 높이고 다른 샘플과는 멀어지도록 <strong>대조 손실(Contrastive Loss, $\mathcal{L}_{con}$)</strong>을 계산한다.</p>
</li>
<li><p>인코더와 매핑 네트워크의 파라미터를 업데이트한다.</p>
</li>
</ul>
<h3 id="333-multitask-prediction-by-prompt-fine-tuning">3.3.3 Multitask Prediction by Prompt Fine-tuning</h3>
<p>사전 훈련된 모델에 장거리 의존성을 주입하고, 실제 품질 라벨을 이용해 <strong>미세 조정(Fine-tuning)</strong>하는 단계이다.</p>
<ul>
<li><p>Transformer 프롬프트: Transformer를 이용해 멀리 떨어진 기계 간의 관계(Global Information)를 포착하고, 이를 프롬프트($X^T$) 형태로 기존 노드 특징에 더해준다.</p>
</li>
<li><p>다중 작업 예측: 각 단계의 품질 지표마다 별도의 MLP를 두어 동시에 예측한다.</p>
</li>
</ul>
<p><strong>Figure 3(c) 설명</strong></p>
<ul>
<li><p>Prompt Generation (아래쪽 박스): 노드 특징이 Transformer (Multi-Head Attention)를 통과하며 전역적인 관계를 학습하고, 이를 Long-range prompt (색깔 격자)로 변환한다.</p>
</li>
<li><p>Prompt-enhanced Graph (가운데): 생성된 프롬프트가 기존 그래프의 노드 특징에 더해진다($\oplus$).</p>
</li>
<li><p>Prediction (오른쪽): 프롬프트가 추가된 그래프가 Pre-trained Graph Encoder를 통과한 후, 각 단계($n_y^1, n_y^K$)의 여러 품질 지표를 예측하는 <strong>Prediction Network (MLP)</strong>로 연결된다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/c36042af-37ec-4fc6-bfbc-e0045c7697b3/image.png" alt=""></p>
<p><strong>Algorithm 2 설명: 미세 조정 예측 절차</strong></p>
<p><strong>1. 초기화: 그래프 $\mathcal{G}$ 구축 및 특징 임베딩</strong></p>
<p><strong>2. 반복 학습 (Epochs)</strong></p>
<ul>
<li><p>프롬프트 생성: Transformer를 사용해 장거리 관계를 포착한 프롬프트 특징 $X^T$를 추출하고, 이를 그래프 노드에 추가한다.</p>
</li>
<li><p>특징 추출: 사전 훈련된 인코더($f_{en}$)로 단계별 특징 $h_G^k$를 추출한다.</p>
</li>
<li><p>다중 작업 예측: 각 단계($k$)의 각 품질 지표($j$)에 대해 예측값 $\tilde{y}_{k,j}$를 계산한다.</p>
</li>
<li><p>손실 계산 및 업데이트: 노이즈 라벨을 마스킹한 후 <strong>회귀 손실($\mathcal{L}_{reg}$)</strong>을 계산하고, 전체 모델(인코더 포함)을 업데이트한다.</p>
</li>
</ul>
<h2 id="4-case-study">4. Case Study</h2>
<h3 id="41-description-of-dataset">4.1 Description of Dataset</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e8584a4c-0947-4ae5-ae83-afb4c07a6822/image.png" alt=""></p>
<p><strong>1) 데이터셋 개요</strong></p>
<ul>
<li>MCMP 데이터셋은 2020년 Liveline Technologies가 Kaggle에 공개한 것으로, 미국 디트로이트 인근의 실제 생산 라인에서 수집되었다. </li>
<li>직렬 및 병렬 기계가 혼합된 공정과 조립 과정을 모두 포함하고 있어, 복잡한 현대식 <strong>다단계 제조 시스템(MMSs)</strong>을 대표하는 데이터셋이다 .</li>
</ul>
<p><strong>2) Figure 4 설명: MCMP 데이터셋 구조</strong></p>
<ul>
<li><p>실험에 사용된 실제 제조 데이터(MCMP)의 구조를 보여준다.</p>
</li>
<li><p>Stage 1: 기계 1, 2, 3이 병렬로 작동하고 Combiner로 합쳐진다. 각 기계는 12+2개의 특징을 가진다.</p>
</li>
<li><p>Stage 2: 기계 4, 5가 직렬로 연결된다.</p>
</li>
<li><p>각 단계가 끝날 때마다 15개의 품질 지표(Measurements)를 측정한다.</p>
</li>
</ul>
<p><strong>3) Table 2 설명: 품질 지표와 노이즈 문제</strong></p>
<ul>
<li><p>이 데이터셋의 목표는 각 단계에서 15개씩, 총 30개의 품질 지표를 예측하는 것이다. </p>
</li>
<li><p>하지만 실제 현장 데이터답게 <strong>노이즈(Noise)</strong>가 매우 심각하다는 특징이 있다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a29bb066-242b-4015-bf9c-5bef1311f1d9/image.png" alt=""></p>
<ul>
<li>심각한 노이즈: 물리적으로 불가능한 &#39;0&#39;이나 &#39;음수&#39; 값이 무작위로 섞여 있다. 특히 1단계의 7개 지표와 2단계의 2개 지표는 0값의 비율이 20%를 넘는다.</li>
</ul>
<ul>
<li>극단적 사례: 심지어 노이즈 비율이 전체 샘플의 <strong>98%</strong>에 달하는 지표도 존재한다.</li>
</ul>
<h3 id="42-experimental-settings">4.2. Experimental settings</h3>
<h4 id="421-data-preprocessing">4.2.1. Data Preprocessing</h4>
<p><strong>1. 데이터 분할 및 표준화</strong></p>
<ul>
<li><p>MCMP 데이터셋을 학습:검증:테스트 = 6:2:2 비율로 무작위 분할한다.</p>
</li>
<li><p>예측에 도움이 되지 않는 타임스탬프(Timestamp) 정보는 제거한다.</p>
</li>
<li><p>기계 특징(Feature)마다 분포가 다르므로, 평균을 제거하고 단위 분산으로 스케일링하는 <strong>표준화(Standardization)</strong>를 수행한다.</p>
</li>
</ul>
<p><strong>2. 라벨 노이즈 제거 (Label Denoising)</strong></p>
<ul>
<li><p>기존 연구들은 단순히 특정 임계값(예: 14~16 범위 밖, 혹은 1e-4 미만)을 벗어나면 데이터를 버리는 방식을 택했다.</p>
</li>
<li><p>하지만 본 논문은 유용한 정보를 최대한 살리기 위해 데이터 분포를 정밀 분석하였다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/fd35a650-de59-4c30-a425-71941b50c437/image.png" alt=""></p>
<p>위 그래프는 각 단계(Stage)와 지표(Measurement)별 데이터 분포를 보여준다.</p>
<ul>
<li><p>(a) Stage 1 - Measurement 1: 0 근처의 값과 정상적인 분포가 섞여 있다.</p>
</li>
<li><p>(b) Stage 1 - Measurement 12: 역시 0 근처에 노이즈가 존재한다.</p>
</li>
<li><p>(c) Stage 2 - Measurement 4: 0값의 비율이 높다.</p>
</li>
</ul>
<ul>
<li>(d) Stage 2 - Measurement 6: 0과 1mm 사이에 데이터가 집중되어 있다 .</li>
</ul>
<p>이 분석을 통해, 단순히 데이터를 버리는 것이 아니라 1e-3 mm (붉은 선) 미만의 값을 노이즈 라벨로 식별하여 Masking 처리하는 전략을 수립</p>
<h4 id="422-baseline-models">4.2.2 Baseline Models</h4>
<p>*<em>1. 머신러닝 (Machine Learning)
*</em></p>
<ul>
<li>ENR (Elastic Network Regression): 릿지(Ridge)와 라쏘(Lasso) 회귀를 결합한 모델</li>
</ul>
<ul>
<li>CatBoost: 범주형 데이터 처리에 강한 부스팅 트리 모델</li>
</ul>
<ul>
<li>RRF (ReliefF Random Forest): 특징 선택(ReliefF)과 랜덤 포레스트를 결합한 모델</li>
</ul>
<p>*<em>2. 딥러닝 (Deep Learning)
*</em></p>
<ul>
<li>FNN (Feed-forward Neural Network): 4계층의 완전 연결 신경망</li>
</ul>
<ul>
<li>CNN (Convolutional Neural Network): 2계층의 합성곱 신경망 </li>
</ul>
<ul>
<li>DMMTL: 직렬 MMS를 위한 딥러닝 기반 다단계 다중 작업 학습 모델</li>
</ul>
<p>*<em>3. 그래프 신경망 (GNN)
*</em></p>
<ul>
<li>GAT (Graph Attention Network): 어텐션 메커니즘을 사용하는 GNN</li>
</ul>
<ul>
<li><p>GIN (Graph Isomorphism Network): 그래프 구조 표현력이 뛰어난 GNN</p>
</li>
<li><p>PGAT (Path Enhanced GAT): MMS 품질 예측을 위해 경로 강화 기법을 사용한 최초의 GNN 모델</p>
</li>
</ul>
<p><strong>4. 그래프 대조 학습 (Graph Contrastive Learning)</strong></p>
<ul>
<li>InfoGraph: 노드와 그래프 간의 상호 정보를 최대화하는 비지도 학습 모델</li>
</ul>
<ul>
<li>GraphCL: 노드 삭제, 엣지 교란 등 다양한 증강 기법을 사용하는 대조 학습 모델</li>
</ul>
<h3 id="43-results-comparison">4.3. Results Comparison</h3>
<h4 id="431-ablation-study">4.3.1. Ablation study</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d7cb17f9-3a84-4023-b6af-b6a1e952072b/image.png" alt=""></p>
<ul>
<li><p>MNGCLP-AMN: 기계 노드 추가(Adding Machine Nodes) 기능을 뺀 모델. RMSE가 0.3208에서 0.3268로 증가(성능 하락)했다. 이는 새로운 노드를 추가하여 생산 공정 정보를 풍부하게 만드는 것이 중요함을 의미한다.</p>
</li>
<li><p>MNGCLP-RPE: 역방향 엣지(Reverse Production Edges)를 뺀 모델. 역시 성능이 하락했다. 역방향 정보 또한 공정 이해에 필수적이다.</p>
</li>
<li><p>MNGCLP-TPF: Transformer 프롬프트(TPF)를 제거한 모델. 성능 저하가 발생했다. 이는 단순히 인접한 기계뿐만 아니라, 멀리 떨어진 기계 간의 관계를 학습하는 것이 중요함을 시사한다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/100c1394-9a37-4e4e-9c57-4ddd14c28a73/image.png" alt=""></p>
<p><strong>TPF(Transformer Prompt Fine-tuning)의 중요성은 위 Figure 6의 어텐션(Attention) 히트맵에서 시각적으로 확인할 수 있다.</strong></p>
<ul>
<li><p>장거리 영향력: 가로축과 세로축은 기계($m0 \sim m5$)를 나타낸다. 그림을 보면 $m5$(마지막 기계)가 $m0, m1$(초기 기계)에 강한 영향을 미치고 있음(0.36, 0.28)을 알 수 있다.</p>
</li>
<li><p>이는 물리적으로 거리가 멀더라도 생산 공정 상의 논리적 연결고리가 존재하며, Transformer가 이를 성공적으로 포착하여 프롬프트로 활용하고 있음을 증명한다 .</p>
</li>
</ul>
<h4 id="432-results-comparison-for-other-methods">4.3.2. Results comparison for other methods</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/7a5ffd58-4c27-47c2-962b-1a83252a20d8/image.png" alt=""></p>
<ul>
<li>위 Table 5를 보면 MNGCLP는 RMSE(0.3208), MSE(0.1029), MAE(0.0805) 모든 지표에서 가장 낮은 오차율을 기록하며 1위를 차지했다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9277902c-9146-4c28-a565-d7ed2b841b61/image.png" alt=""></p>
<ul>
<li><p>위 Table 6의 기존 모델의 한계는 아래와 같다.</p>
<ul>
<li><p>PGAT, GAT, GIN: 그래프 기반이지만 노이즈 라벨에 취약하여 MNGCLP보다 성능이 낮다. 특히 PGAT는 깨끗한 라벨 데이터가 많이 필요한데, MCMP 데이터셋의 노이즈 때문에 제 성능을 못 냈다 .</p>
</li>
<li><p>GraphCL, InfoGraph: 기존 대조 학습 모델들은 노드 삭제 등 공정 흐름을 끊는 증강 기법을 사용했기 때문에, 공정 특화 증강을 사용한 MNGCLP보다 성능이 떨어진다.</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e0266be8-6dc6-47d2-88c3-919eb38a11a7/image.png" alt=""></p>
</li>
</ul>
</li>
</ul>
<ul>
<li>위 Fig. 7 성능 개선율을 봤을 때, MNGCLP는 지도 학습 기반 SOTA 모델인 PGAT 대비 RMSE를 2.4%, MSE를 4.8% 개선했다.</li>
</ul>
<ul>
<li>대조 학습 비교: 일반적인 대조 학습 모델인 GraphCL 대비 RMSE를 2.5%, MAE를 6.3% 개선하며, 제조 데이터에 특화된 프레임워크의 우수성을 입증했다.</li>
</ul>
<h4 id="433-computational-costs">4.3.3. Computational Costs</h4>
<p>성능이 좋아도 학습이 너무 오래 걸리면 현장에서 쓰기 어렵다. 학습 시간을 비교해보면 아래 Table 7과 같다.
<img src="https://velog.velcdn.com/images/jja_jja/post/08657df2-e42f-4b8d-badc-cb56a5627d17/image.png" alt=""></p>
<ul>
<li><p>CNN (1713.4s) / DMMTL (636.1s): 구조가 단순하여 빠르지만 예측 정확도가 낮다.</p>
</li>
<li><p>PGAT (4626.8s): 복잡한 경로 코딩 때문에 학습 시간이 매우 길다.</p>
</li>
<li><p>MNGCLP (2325.2s): 성능이 가장 좋으면서도 PGAT의 절반 수준의 시간만 소요된다. InfoGraph나 GraphCL보다는 약간 느리지만, 이는 Transformer 프롬프트 추가에 따른 비용이며 성능 향상 폭을 고려할 때 합리적인 트레이드오프(Trade-off)이다.</p>
</li>
</ul>
<h3 id="44-analysis-and-discussion">4.4 Analysis and discussion</h3>
<h4 id="441-alignment-and-uniformity-analysis-of-stage-representation">4.4.1 Alignment and uniformity analysis of stage representation</h4>
<ul>
<li>정렬성 (Alignment): 비슷한 품질을 가진 샘플끼리는 특징 공간상에서 가깝게 모여 있어야 한다. 이는 노이즈의 영향을 줄이는 데 중요하다.</li>
</ul>
<ul>
<li>균일성 (Uniformity): 특징들이 특정 영역에만 쏠리지 않고 공간 전체에 고르게 분포해야 데이터의 다양성을 잘 보존할 수 있다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b0cff8ec-258c-4cc5-8ce5-46c074f4f67e/image.png" alt=""></p>
<ul>
<li><p>위 그림은 고차원의 특징을 2차원으로 축소하여 시각화한 것이다.</p>
</li>
<li><p>PGAT (왼쪽): 점들이 널리 퍼져 있고 섞여 있어(Dispersed), 비슷한 샘플끼리 뭉치지 못했다.</p>
</li>
<li><p>GraphCL (가운데): 일부 개선되었으나 여전히 경계가 모호하다.</p>
</li>
<li><p>MNGCLP (오른쪽): 같은 색깔(단계별 특징)의 점들이 <strong>확실하게 군집(Cluster)</strong>을 이루고 있다.</p>
</li>
<li><p>이는 MNGCLP가 노이즈 속에서도 유의미한 특징을 잘 잡아내어 정렬시켰음을 의미한다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/eebeb930-28a0-4533-b49d-83c71f017e48/image.png" alt=""></p>
<ul>
<li><p>위 그림은 특징들이 공간상에 얼마나 고르게 퍼져있는지(밀도)를 보여준다.</p>
</li>
<li><p>PGAT (왼쪽): 특정 각도($0^\circ, 90^\circ$)에 피크가 솟아 있고 밀도 변화가 심하다(Highly clustered). 정보가 특정 패턴에만 쏠려 있다는 뜻이다.</p>
</li>
<li><p>GraphCL (가운데): 일부 영역에 빈 공간(Gaps)이 많다.MNGCLP (오른쪽): 밀도 곡선이 전체적으로 <strong>부드럽고 평탄(Smoother)</strong>하다. </p>
</li>
<li><p>이는 데이터의 다양한 정보를 편향 없이 골고루 학습했음을 보여준다.</p>
</li>
</ul>
<h4 id="442-the-quality-prediction-fitting-results">4.4.2 The quality prediction fitting results</h4>
<blockquote>
<p>실제 현장에서 가장 중요한 것은 &quot;그래서 예측값이 실제값과 얼마나 비슷한가?&quot;이다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1055a2ac-bd99-4ed7-b1d4-3122aecefeb1/image.png" alt=""></p>
<p><strong>위 그래프는 200개의 무작위 샘플에 대한 예측 결과를 보여준다.</strong></p>
<ul>
<li><p>구성: 빨간 실선은 실제값(True Values), 파란 실선은 MNGCLP 예측값, 하단 막대그래프는 <strong>오차(Error)</strong>를 나타낸다.</p>
</li>
<li><p>분석:</p>
<ul>
<li><p>(a)~(d): MNGCLP(파란선)가 실제값(빨간선)의 복잡한 등락 추세를 매우 정확하게 따라가고 있다 .</p>
</li>
<li><p>오차: 하단의 오차 막대를 보면, MNGCLP가 다른 모델들(하늘색, 주황색 막대)에 비해 오차의 크기가 작고 변동폭이 안정적이다.</p>
</li>
<li><p>난이도: Stage 2(그림 c, d)의 오차가 Stage 1(그림 a, b)보다 상대적으로 큰데, 이는 공정이 뒤로 갈수록 누적된 영향으로 인해 예측이 더 어려워짐을 시사한다.</p>
</li>
</ul>
</li>
</ul>
<blockquote>
<p>결론적으로, MNGCLP는 데이터의 특징을 명확하게 구분(Alignment)하면서도 다양성을 잃지 않으며(Uniformity), 이를 통해 복잡한 제조 공정에서도 실제값에 매우 근접한 예측 성능을 달성하였다.</p>
</blockquote>
<h2 id="5-conclusion-and-future-works">5. Conclusion and Future Works</h2>
<h3 id="51-conclusion">5.1 Conclusion</h3>
<blockquote>
<p>본 연구는 라벨링이 어려운 다단계 제조 시스템(MMSs)의 품질 예측을 위해 MNGCLP 프레임워크를 제안하였다.</p>
</blockquote>
<ul>
<li><p>핵심 방법론</p>
<ul>
<li><p>사전 훈련: 기계 노드 강화(Machine Node Augmentation) 기법을 통해 생산 공정 정보를 유지하면서도, 라벨 없는 데이터에서 기계 간 품질 전파 효과를 효과적으로 학습하였다 .</p>
</li>
<li><p>미세 조정: Transformer로 포착한 기계 간 장거리 관계를 프롬프트(Prompt)로 활용하여, 사전 훈련 모델과 실제 예측 작업 간의 간극을 해소하고 정확도를 높였다 .</p>
</li>
<li><p>성능 입증: 실제 제조 데이터(MCMP) 실험 결과, 지도 학습 기반 GNN 대비 RMSE 2.4%, 대조 학습 모델 대비 2.5% 성능이 향상되어 모델의 우수성을 입증하였다.</p>
</li>
</ul>
</li>
</ul>
<h3 id="52-future-works">5.2 Future Works</h3>
<blockquote>
<p>향후 연구는 모델의 한계를 보완하기 위해 다음 세 가지 방향으로 진행될 예정이다 .</p>
</blockquote>
<ol>
<li><p>시공간 모델링: 데이터의 시간적 흐름(Temporal correlation)을 반영하기 위해 <strong>시공간 신경망(Spatial-Temporal Neural Networks)</strong>을 적용한다.</p>
</li>
<li><p>이종 그래프 확장: 기계와 결합기(Combiner) 등 다양한 설비 간의 관계를 정교하게 표현하기 위해 <strong>이종 그래프(Heterogeneous Graph)</strong>를 도입한다.</p>
</li>
<li><p>대규모 데이터 확보: 더 많은 MMSs 데이터를 수집하여 사전 훈련 모델의 Generalization 성능을 강화한다.</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Stochastic Deep Koopman Model for Quality Propagation Analysis in Multistage Manufacturing Systems (2023.12 Manufacturing Systems Journal)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Stochastic-Deep-Koopman-Model-for-Quality-Propagation-Analysis-in-Multistage-Manufacturing-Systems-2023.12-Manufacturing-Systems-Journal</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Stochastic-Deep-Koopman-Model-for-Quality-Propagation-Analysis-in-Multistage-Manufacturing-Systems-2023.12-Manufacturing-Systems-Journal</guid>
            <pubDate>Mon, 02 Feb 2026 08:12:33 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>다단계 제조 시스템(MMS)의 복잡한 공정을 모델링하기 위해 최근 딥러닝이 도입되고 있으나, 높은 비용과 전문 지식, 그리고 낮은 해석력이 장벽으로 작용하고 있다. 본 논문에서는 이를 해결하기 위해 Stochastic Deep Koopman (SDK) 프레임워크를 제안한다.</p>
</blockquote>
<p><a href="https://www.sciencedirect.com/science/article/pii/S0278612523002133">원본 paper는 해당 링크를 참고하시길 바랍니다.</a></p>
<h2 id="summary">Summary</h2>
<blockquote>
<p>01 Problem
기존 딥러닝 모델의 &#39;블랙박스(해석 불가)&#39; 문제와 SoV 모델의 <strong>&#39;선형성 제약&#39;</strong>으로 인해, 복잡한 비선형 다단계 제조 공정(MMS)의 인과관계를 규명하지 못하는 한계</p>
</blockquote>
<blockquote>
</blockquote>
<p>02 Idea
VAE로 추출한 잠재 변수를 Koopman 연산자로 전파시켜, 비선형 공정을 &#39;해석 가능한 선형 모델&#39;로 변환하고 확률적(Stochastic) 분포로 노이즈를 제어한다.</p>
<blockquote>
<p>03 Challenge 
현대 제조 공정의 고도 <strong>비선형성(Non-linearity)</strong>을 다루면서, 동시에 현장의 심각한 <strong>노이즈 및 불확실성(Uncertainty)</strong>을 극복하고 공정 간 결합(Coupling)을 수학적으로 풀어내는 것</p>
</blockquote>
<blockquote>
<p>04 Contribution 
SDK 프레임워크를 통해 기존 SOTA 모델 대비 <strong>최고의 예측 정확도(MSE)</strong>를 달성하고, 품질 변동의 <strong>&#39;추적 가능성(Traceability)&#39;</strong>을 확보하여 근본 원인 분석을 가능하게 함.</p>
</blockquote>
<blockquote>
<p>05 Pros &amp; Cons
(강점) 노이즈 환경에서도 강건한 높은 예측 정확도와 희소성(Sparsity) 기반의 해석력
(약점) 학습을 위한 방대한 데이터 및 센서 투자 비용, 차원 확장(Lifting)에 따른 계산 복잡도 증가 우려</p>
</blockquote>
<blockquote>
<p>06 Takeaway 
복잡한 시계열/공정 데이터에서 &#39;인과관계 규명&#39;이 중요하다면, 딥러닝에 Koopman 이론을 접목하여 비선형성을 <strong>&#39;제어 가능한 선형성&#39;</strong>으로 변환하는 접근법이 매우 유효하다.</p>
</blockquote>
<blockquote>
<p>07 Limitation
현장 적용을 위한 방대한 <strong>데이터 확보(Data Acquisition)</strong>의 어려움과 비용 문제, 이를 해결하기 위한 연합 학습(Federated Learning) 도입이나 물리 지식(Physics-informed) 통합이 후속 과제임</p>
</blockquote>
<h2 id="0-abstract">0. Abstract</h2>
<ul>
<li><p>SDK의 핵심은 <strong>VAE(Variational Autoencoder)</strong>로 추출한 주요 품질 정보를 Koopman 연산자를 통해 선형적으로 전파시키는 데 있다. 이를 통해 복잡한 비선형적 품질 변화를 해석 가능한 선형 모델로 포착할 수 있다. 오픈소스 데이터셋을 활용한 비교 실험 결과, SDK는 기존 데이터 기반 모델보다 뛰어난 단계별 예측 정확도를 보였다. </p>
</li>
<li><p>특히, SDK 고유의 <strong>선형 전파 특성(Linear Propagation)</strong>은 공정 전반의 품질 변화를 추적(Traceability) 가능하게 하여 근본 원인 분석을 용이하게 한다. 결론적으로, 본 프레임워크는 물리적 도메인 지식 없이도 적용 가능한 범용적인 가상 계측(Virtual Metrology) 도구로서, 제조 산업의 궁극적 목표인 ZDM(Zero Defect Manufacturing) 실현에 기여한다.</p>
</li>
</ul>
<h2 id="1-introduction">1. Introduction</h2>
<blockquote>
<p>이 연구는 다단계 제조 시스템(MMS)의 품질 관리를 위한 기존 접근 방식들이 가진 다음과 같은 한계점들을 지적하고 저자들은 이러한 문제를 해결하기 위해 Stochastic Deep Koopman (SDK) 프레임워크를 제안한다.</p>
</blockquote>
<h3 id="11-problem-definition">1.1 Problem Definition</h3>
<p><strong>1. 다단계 제조 시스템(MMS)의 복잡성:</strong> MMS는 공정이 연속적으로 연결되어 상호 의존성이 높기 때문에, 특정 단계의 품질이 이전 단계들의 누적된 영향을 받아 인과관계를 규명하기 어렵다.</p>
<p><strong>2. 기존 딥러닝(Deep Learning)의 한계:</strong> DNN, CNN 등은 비선형 데이터 처리와 예측 성능이 우수하지만, 내부가 <strong>블랙박스(Black-box)</strong>여서 불량 발생 시 근본 원인을 설명하거나 추적할 수 없다.</p>
<p><strong>기존 해석 가능 모델(SoV)의 한계:</strong> 변동 전파(SoV) 모델은 수학적 해석력은 뛰어나지만, 시스템이 <strong>선형(Linear)</strong>이어야 한다는 제약 때문에 복잡한 현대의 비선형 공정에는 적용이 불가능하다.</p>
<h3 id="12-solution">1.2 Solution</h3>
<p><strong>1. Koopman Operator를 통한 선형화: 비선형 동적 시스템을 고차원 잠재 공간으로 매핑하여 **선형적으로 진화(Linearly Evolve)</strong>하게 만듦으로써, 비선형 공정에서도 선형 모델의 해석 가능성을 확보했다.</p>
<p><strong>2. 확률적 VAE 기반의 강건한 특징 추출:</strong> VAE를 통해 핵심 품질 지표를 자동 추출하고, 동시에 잠재 변수를 <strong>가우시안 분포(Gaussian Distribution)</strong>로 모델링하여 공정 노이즈에 대한 강건성(Robustness)을 확보했다.</p>
<p><strong>3. 단계별 품질 전파 및 추적 가능성:</strong> 전체 공정을 뭉뚱그리지 않고 단계별(Stage-wise) 전파 과정을 모델링하여, 중간 단계의 품질을 예측하고 이상 발생 시 원인 공정을 정확히 추적할 수 있게 했다.</p>
<h2 id="2-literature-review">2. Literature Review</h2>
<blockquote>
<p>제조 시스템에 가상 계측(Virtual Metrology, VM)을 통합하기 위한 연구는 꾸준히 진행되어 왔다. 특히 딥러닝(Deep Neural Network, DNN)의 등장은 고차원 데이터 처리에 획기적인 발전을 가져왔지만, 다단계 제조 시스템(MMS)에 적용하기에는 여전히 명확한 한계가 존재한다.</p>
</blockquote>
<p>따라서, 기존 연구들의 흐름을 단일 공정 vs 다단계 공정, 그리고 해석 가능성(Interpretability) 측면에서 분석하고, 왜 새로운 접근법이 필요한지 알아보고자 한다.</p>
<h3 id="21-딥러닝-기반-vm의-발전과-한계-single-stage">2.1 딥러닝 기반 VM의 발전과 한계 (Single-Stage)</h3>
<p>최근 연구들은 복잡한 시스템을 근사(Approximation)하기 위해 다양한 DNN 변형 모델들을 시도했다.</p>
<ul>
<li><p>LSTM: 시계열 데이터의 장기 의존성을 학습하기 위해 LSTM을 활용했다.</p>
</li>
<li><p>CNN: 용접이나 적층 제조(Additive Manufacturing) 같은 공정에서는 이미지 데이터를 처리하여 결함을 탐지하기 위해 CNN이 사용되었다.</p>
</li>
</ul>
<p>이러한 접근법의 가장 큰 장점은 <strong>자동화된 특징 공학(Automated Feature Engineering)</strong>으로서, 사람의 개입 없이도 중요한 특징을 추출할 수 있다. 하지만 치명적인 단점으로 <strong>해석력 부족</strong>과 대부분의 연구가 <strong>단일 단계 공정(Single-stage)</strong>에 국한되어 있다는 점이다.</p>
<h3 id="22-다단계-제조-시스템mms-한계">2.2 다단계 제조 시스템(MMS) 한계</h3>
<ul>
<li><p>실제 생산 라인은 여러 스테이션이 연결된 MMS(Multistage Manufacturing Systems) 형태이다. MMS 모델링이 어려운 이유는 &#39;공정 간 결합(Interstage Couplings)&#39; 때문이다. 특정 단계의 품질은 현재 공정뿐만 아니라 이전 단계들의 누적된 영향을 받는다.</p>
</li>
<li><p>기존의 데이터 기반 방식은 모든 단계의 정보를 뭉뚱그려(Aggregate) 학습한다. 이는 공정 간의 인과관계를 가려버려, 불량 발생 시 어느 공정이 문제인지(Bottleneck) 파악하기 어렵게 만든다.</p>
</li>
</ul>
<h3 id="23-기존-mms-모델링-기법의-한계-sov-및-기타">2.3 기존 MMS 모델링 기법의 한계 (SoV 및 기타)</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/6a5e6695-3692-4489-a6ec-d17ea060f1e4/image.png" alt=""></p>
<p>기존 연구들과 제안하는 SDK 모델 간의 특징 비교(자동화된 특징 추출, 비선형성 지원, 해석 가능성, 단계별 예측)</p>
<ul>
<li><p>Monitoring the state of intermediate product: Clustering[18], PCA+Decision Tree[19] 등을 통해 중간 제품을 분류하려 했으나, 직접적인 품질 수치 예측에는 한계가 있었다.</p>
</li>
<li><p>Graph/Attention Network : PGAT(path enhanced bidirectional graph attention network)[21]나 Multi-task learning[22] 등은 공정 간 상호작용을 학습하려 했으나, 운영 의사결정을 지원하는 프레임워크로는 부족함이 있었다.</p>
</li>
<li><p>Bayesian Methods: 불확실성을 다룰 수 있지만[23, 24], 공정 변수 분포에 대한 사전 지식(Prior Knowledge)이 필요하여 복잡한 시스템에 적용하기 어렵다.</p>
</li>
<li><p>SoV (Stream-of-Variation) 분석:</p>
<ul>
<li><p>MMS 모델링의 주류인 SoV 분석은 상태 공간(State Space)을 이용해 변동 전파를 모델링한다.</p>
</li>
<li><p>가시성이 뛰어나고 제어(Control)가 쉽다는 장점이 있지만, <strong>&quot;선형 동적 시스템(Linear Dynamics)&quot;</strong>이어야 한다는 강력한 제약 조건이 있다. </p>
</li>
<li><p>최근에는 신경망과 SoV를 결합하려는 시도[28, 29]가 있었지만, 비선형 전이(Nonlinear Transition)로 인해 공정 제어나 공차 할당 같은 최적화 알고리즘을 적용하기 어려워지는 문제가 발생한다.</p>
</li>
</ul>
</li>
</ul>
<h3 id="24-stochastic-deep-koopmansdk-제안">2.4 Stochastic Deep Koopman(SDK) 제안</h3>
<blockquote>
<p>본 논문은 위에서 언급한 한계들을 극복하기 위해 새로운 프레임워크를 제안한다. 
VAE + Koopman Operator 우리는 각 공정 단계에 <strong>Variational Autoencoder (VAE)</strong>를 적용하여 핵심 품질 정보를 추출하고, Koopman Operator를 통해 이 정보가 공정을 따라 어떻게 전파되는지를 모델링한다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/cc96902e-bdfa-4a48-9dae-ab965240e7c6/image.png" alt=""></p>
<p>이 프레임워크는 다음 세 가지 핵심 속성을 가진다.</p>
<ol>
<li><p>확장성 (Scalability): 센서 데이터의 자동 처리를 통해 대규모 시스템에 적용 가능</p>
</li>
<li><p>유연성 (Extensibility): 비선형 시스템도 모델링 가능</p>
</li>
<li><p>해석 가능성 (Interpretability): 선형 잠재 역학(Linear Latent Dynamics)을 통해 의사결정 지원</p>
</li>
</ol>
<h3 id="25-main-contributions">2.5 Main Contributions</h3>
<ol>
<li><p>MMS 특화 가상 계측: 단순 예측을 넘어 공정 간 품질 &#39;전파(Propagation)&#39;에 초점을 맞춘 프레임워크 설계</p>
</li>
<li><p>선형성(Linearity) 확보: Koopman Operator를 통해 비선형 품질 전파를 선형적으로 표현함으로써, 근본 원인 분석(Root Cause Analysis)을 위한 가시성과 해석력 제공</p>
</li>
<li><p>확률적(Stochastic) 모델링: 새로운 확률적 딥러닝 기법을 통해 불필요한 정보를 제거하고, 공정 및 센서 노이즈에 대한 강건성(Robustness) 확보</p>
</li>
</ol>
<h2 id="3-problem-statement">3. Problem Statement</h2>
<blockquote>
<p>이 연구는 $N$개의 단계(Stage)로 이루어진 다단계 제조 시스템(MMS)을 정의하는 것에서 시작합니다. 각 단계 $k$에서는 공정 센서 데이터($X_k$)가 수집되고, 이에 따른 제품 품질($Y_k$)이 결정됩니다.</p>
</blockquote>
<h3 id="31-품질-추정의-인과성-causality">3.1 품질 추정의 인과성 (Causality)</h3>
<p>다단계 공정의 핵심은 <strong>&quot;누적된 영향&quot;</strong> 이다. $k$ 단계에서의 품질 $\tilde{Y}_k$는 해당 단계의 데이터뿐만 아니라, 그 이전의 모든 공정($1$부터 $k$까지)의 영향을 받아 결정된다.</p>
<ul>
<li><p>$$\tilde{Y}_k = g_k(X_1, ..., X_k), \quad k \geq 1 \quad \text{(1)}$$</p>
<ul>
<li>현재의 품질($Y_k$)은 과거부터 현재까지의 모든 공정 변수($X_1 \dots X_k$)에 의해 결정되는 인과적(Causal) 관계를 가진다. 즉, 품질을 정확히 예측하려면 전체 공정의 이력을 모두 고려해야 한다.</li>
</ul>
</li>
</ul>
<h3 id="32-기존-sov-모델의-접근과-한계">3.2 기존 SoV 모델의 접근과 한계</h3>
<p>이러한 인과관계를 풀기 위해 기존의 SoV(Stream-of-Variation) 모델은 다음과 같은 선형 상태 공간 방정식(State-Space Equation)을 사용해 왔다.</p>
<ul>
<li><p>$$\tilde{Y}<em>i = A_i \tilde{Y}</em>{i-1} + B_i X_i \quad \text{(2)}$$</p>
<ul>
<li>$A_i \tilde{Y}_{i-1}$ (Propagation): 이전 단계의 품질이 현재 단계로 전이되는 영향 (전이 행렬)</li>
<li>$B_i X_i$ (Current Impact): 현재 단계의 공정 변수가 품질에 미치는 직접적인 영향 (입력 행렬)</li>
</ul>
</li>
</ul>
<blockquote>
<p>핵심 문제
식 (2)는 복잡한 비선형(Nonlinear) 시스템을 <strong>선형 관계($A, B$ 행렬)</strong>로 단순화하여 근사한다. 
하지만 현대의 제조 공정은 고도로 비선형적이기 때문에, 이러한 선형 모델(Linearized mapping)로는 실제 품질 변동을 정확하게 포착하는 데 근본적인 한계가 존재한다.</p>
</blockquote>
<p><strong>따라서, 이 논문은 식 (1)의 비선형성을 유지하면서도, 식 (2)처럼 명쾌한 전파 구조를 가질 수 있는 새로운 프레임워크(Koopman)를 제안한다.</strong></p>
<h2 id="4-preliminary-koopman-operator-theory">4. Preliminary: Koopman Operator Theory</h2>
<blockquote>
<p>본 논문의 핵심 엔진인 Koopman Operator에 대해 먼저 짚고 넘어가고자 한다. 공학 수학이나 제어 이론을 공부하신 분들에게는 익숙할 수도 있지만, 이 논문에서는 딥러닝과 결합하여 아주 독창적인 방식으로 사용되었다.</p>
</blockquote>
<h3 id="41-비선형-시스템을-다루는-두-가지-관점">4.1 비선형 시스템을 다루는 두 가지 관점</h3>
<p>우리가 흔히 마주치는 현실의 시스템은 대부분 <strong>비선형(Nonlinear)</strong>이다.</p>
<p>$$x_{t+1} = F(x_t)$$</p>
<p>이러한 비선형 시스템을 해석하거나 제어하기 위해 우리는 보통 선형화(Linearization) 과정을 거친다.</p>
<ol>
<li><p>기존의 방식 (Local Linearization): 테일러 급수 전개(Jacobian) 등을 이용해 특정 동작점(Operating Point) 근처에서만 선형적으로 근사한다. 하지만 이는 <strong>국소적(Local)</strong>이라 시스템의 전반적인 거동을 설명하지 못한다.</p>
</li>
<li><p>Koopman의 방식 (Global Linearization): 1931년 B.O. Koopman이 제안한 방식으로, 관점을 완전히 바꾼다. 상태 변수 $x$ 자체를 보는 것이 아니라, 측정 함수(Measurement Function) $\gamma(x)$를 통해 무한 차원의 힐베르트 공간(Hilbert Space)으로 매핑하면, 그 공간에서는 시스템이 선형적으로 진화한다는 이론이다.</p>
</li>
</ol>
<h3 id="42-koopman-operator의-정의">4.2 Koopman Operator의 정의</h3>
<p>Koopman Operator $K$는 다음과 같이 정의된다.</p>
<p>$$\gamma(x_{t+1}) = \gamma \circ F(x_t) = K\gamma(x_t)$$</p>
<p>즉, 원래 공간($x$)에서는 복잡하게 꼬여있는 비선형 움직임($F$)이, 새로운 고차원 공간($\gamma$)에서는 단순한 행렬 곱($K$) 형태의 선형 움직임으로 표현된다는 것이다.</p>
<h3 id="43-time-vs-stage">4.3 Time vs Stage</h3>
<p>기존의 Koopman 연구들은 대부분 <strong>시간(Time)</strong>에 따른 유체 역학이나 동적 시스템의 변화를 예측하는 데 사용되었다. 하지만 본 논문(SDK Framework)의 독창적인 점은 이 개념을 <strong>시간($t$)</strong>이 아닌 <strong>제조 단계(Stage, $k$)</strong>에 적용했다는 것이다.</p>
<blockquote>
<p>&quot;제조 공정의 단계별 품질 변화(Quality Propagation)를 Koopman Operator를 통해 선형적으로 풀어내겠다.&quot;
이것이 바로 이 논문이 복잡한 다단계 공정을 해석 가능한 선형 모델로 바꿀 수 있었던 핵심 이론적 배경이라고 볼 수 있다.</p>
</blockquote>
<h2 id="5-proposed-method">5. Proposed Method</h2>
<blockquote>
<p>해당 paper의 핵심이라고 볼 수 있는 부분이다. 크게 기본이 되는 결정론적(Deterministic) 모델을 설명한 뒤, 이를 현실적인 노이즈 처리가 가능한 <strong>확률적(Stochastic) 모델(SDK)</strong>로 확장하는 순서로 구성되어 있다.</p>
</blockquote>
<ul>
<li>이 연구의 목표는 다단계 제조 시스템(MMS)의 비선형성을 <strong>잠재 공간(Latent Space)</strong>으로 가져와 선형적으로 풀어내는 것이다. </li>
<li>저자들은 먼저 기본 모델(Base Model)을 제안하고, 이를 노이즈에 강건한 확률적 모델(SDK)로 발전시킨다.</li>
<li>전체 프레임워크는 각 단계(Stage $k$)마다 <strong>1) 인코딩(Encoding), 2) Koopman 전이(Transition), 3) 예측(Prediction)</strong>의 세 가지 모듈로 구성된다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/cc02ea1e-e3f2-4f9e-9730-0515e0fbc725/image.png" alt=""></p>
<h3 id="51-encoding-module-by-ae">5.1 Encoding Module by AE</h3>
<p>첫 번째 단계는 복잡한 공정 데이터($X_k$)를 Koopman 이론이 적용 가능한 <strong>불변 부분공간(Invariant Subspace)</strong>으로 매핑하는 것이다.</p>
<ul>
<li><p>목표: 비선형적인 품질 전파가 선형적으로 근사될 수 있는 잠재 공간을 찾는 것이다.</p>
</li>
<li><p>왜 PCA가 아닌 AE인가? PCA는 차원 축소를 목적으로 하지만, Koopman 이론에서는 선형성을 확보하기 위해 때로는 차원을 유지하거나 늘려야 한다. Autoencoder(AE)는 비선형 매핑이 가능하므로, 최적의 부분공간을 찾는 데 훨씬 유연하다.</p>
</li>
<li><p>수식:  $$\hat{H}_k = \phi_k(X_k)$$</p>
<ul>
<li>여기서 $\hat{H}_k$는 현재 단계의 공정 데이터에서 추출한 <strong>일시적 품질 지표(Temporal Quality Indicators)</strong>이다.</li>
<li>학습: 디코더($\psi_k$)는 학습 시에만 사용되며, 입력 데이터($X_k$)와 재구성된 데이터($\tilde{X}_k$) 사이의 차이(Reconstruction Loss)를 줄이는 방향으로 인코더를 학습시킨다.</li>
</ul>
</li>
</ul>
<h3 id="52-koopman-transition-module">5.2 Koopman Transition Module</h3>
<ul>
<li><p>이 프레임워크의 핵심 엔진이다. 현재 단계의 품질($H_k$)은 <strong>&#39;현재 공정의 영향($\hat{H}<em>k$)&#39; + &#39;이전 단계에서 넘어온 영향($H</em>{k-1}$)&#39;</strong>으로 결정된다.</p>
</li>
<li><p>선형 전파 수식: $$H_k = \hat{H}<em>k + K</em>{k-1}H_{k-1}$$</p>
</li>
</ul>
<p>위 수식에서 $K_{k-1}$이 바로 Koopman 행렬이다. 
이 수식을 통해 비선형 시스템을 잠재 공간에서 선형적으로 다룰 수 있게 된다.</p>
<ul>
<li><p>대각 행렬 (Diagonal Matrix): 계산 효율성과 해석력을 위해 $K$를 대각 행렬로 구성한다. 이는 각 품질 지표가 서로 섞이지 않고 독립적으로 전파(Decoupled Propagation)됨을 의미하여 추적 가능성을 높인다.</p>
</li>
<li><p>동적 행렬 (Input-dependent Matrix):기존 연구들이 $K$를 고정된 정적 행렬로 둔 것과 달리, 이 논문에서는 Auxiliary Network를 통해 입력 데이터($X$)에 따라 고윳값($\lambda$)이 변하도록 설계했다.</p>
<ul>
<li>장점: 고정된 선형 모델이 아니라, 입력 조건(작업 환경)에 따라 변화하는 동적인 선형 모델을 구현하여 정확도를 높였다.</li>
</ul>
</li>
</ul>
<h3 id="53-prediction-module">5.3 Prediction Module</h3>
<ul>
<li><p>잠재 공간에서 선형적으로 전파된 최종 품질 지표($H_k$)를 이용해 실제 품질 지수($Y_k$)를 예측한다.</p>
</li>
<li><p>구조: 간단한 2계층 MLP(Multi-layer Perceptron)를 사용한다.</p>
<p>$$\tilde{Y}_k = \text{MLP}_k(H_k)$$</p>
</li>
<li><p>의미: 전체 시스템을 수식으로 풀면 비선형이지만, 내부의 전파 과정(Accumulation)은 Koopman 행렬들의 곱으로 이루어진 선형 시스템이다. 즉, &quot;복잡한 비선형성&quot;을 &quot;선형 전파 + 비선형 매핑&quot;으로 분해한 것이다.</p>
</li>
</ul>
<h3 id="54-two-step-training">5.4 Two-step Training</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/392ce052-0844-44cd-a798-06de9d46cbf1/image.png" alt=""></p>
<ul>
<li>복잡한 딥러닝 모델을 한 번에 학습시키면 그래디언트 소실/폭주 등으로 인해 불안정해질 위험이 있다. 저자들은 이를 방지하기 위해 2단계 학습법을 제안한다.</li>
</ul>
<p><strong>1. Step 1: 사전 학습 (Pre-training)</strong></p>
<ul>
<li><p>AE 학습: 각 단계별로 오토인코더를 비지도 학습으로 먼저 훈련시켜 데이터 재구성 능력을 확보한다.</p>
</li>
<li><p>전이 모듈 학습: 순차적으로(Stage 1 -&gt; N) Koopman 모듈과 예측 모듈을 학습시킨다.</p>
</li>
</ul>
<p><strong>2. Step 2: 미세 조정 (Fine-tuning)</strong></p>
<ul>
<li><p>모든 모듈을 연결하여 전체 네트워크를 구성하고, <strong>전체 손실 함수(Total Loss)</strong>를 최소화하도록 튜닝한다.</p>
</li>
<li><p>Loss Function: 예측 오차($L_{pred}$) + 재구성 오차($L_{recon}$)</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/27154bca-14ba-4e46-9740-3d59d13c97a5/image.png" alt=""></p>
<h3 id="55-stochastic-deep-koopman-model-sdk">5.5 Stochastic Deep Koopman Model (SDK)</h3>
<ul>
<li><p>제조 현장은 항상 노이즈와 불확실성이 존재한다. 따라서 기본 모델(Base Model)은 이를 완벽히 다루지 못하므로, 저자들은 확률적(Stochastic) 접근을 도입</p>
</li>
<li><p>AE $\rightarrow$ VAE: 오토인코더를 <strong>Variational Autoencoder (VAE)</strong>로 교체한다. 이제 잠재 변수는 고정된 값이 아니라 <strong>가우시안 분포($\mu, \sigma$)</strong>를 가진다.</p>
<p>$$P(\hat{H}_k | X_k) \sim \mathcal{N}(\hat{\mu}_k, \hat{\sigma}^2_k)$$</p>
</li>
<li><p>분포의 전파 (Propagation of Distribution):평균($\mu$)과 분산($\sigma$)이 각각 별도의 Koopman 연산자를 통해 전파된다.</p>
<ul>
<li><p>$\mu_k = \hat{\mu}<em>k + K^{\mu}</em>{k-1}\mu_{k-1}$</p>
</li>
<li><p>$\ln \sigma_k = \ln \hat{\sigma}<em>k + K^{\sigma}</em>{k-1} \ln \sigma_{k-1}$</p>
<p>두 개의 별도 Auxiliary Network를 사용하여 평균용 행렬($K^\mu$)과 분산용 행렬($K^\sigma$)을 각각 생성한다.</p>
</li>
</ul>
</li>
<li><p>Reparameterization Trick: 확률 분포에서 샘플링을 하면 미분이 불가능해져 역전파(Backpropagation) x 따라서 재파라미터화 트릭 사용</p>
<ul>
<li>$$H_k = \mu_k + \epsilon \cdot \sigma_k, \quad \text{where } \epsilon \sim \mathcal{N}(0, 1)$$랜덤 노이즈 $\epsilon$을 별도로 분리하여, $\mu$와 $\sigma$에 대해 미분이 가능하도록 만든다. 이렇게 생성된 $H_k$가 최종 예측 모델(MLP)의 입력으로 들어간다.</li>
</ul>
</li>
<li><p>손실 함수의 변화: VAE를 사용하므로, 학습 시 잠재 변수가 정규 분포를 따르도록 강제하는 KL-Divergence ($L_{KLD}$) 항이 추가된다.</p>
</li>
<li><p>$$\mathcal{L}<em>{total} = \sum</em>{i=1}^{N} \left( \rho_i \mathcal{L}<em>{pred,i} + \theta_i (\mathcal{L}</em>{recon,i} + \omega_i \mathcal{L}_{KLD,i}) \right) \quad \text{}$$</p>
<ul>
<li><p>$\mathcal{L}_{pred}$: 정답(품질)을 얼마나 잘 맞췄는가? (예측 오차)</p>
<ul>
<li>$\mathcal{L}_{recon}$: 원본 데이터($X$)를 얼마나 잘 복원하는가? (재구성 오차)</li>
</ul>
</li>
</ul>
<ul>
<li>$\mathcal{L}_{KLD}$ (KL-Divergence): 학습된 잠재 분포 $P(\hat{H}_k|X_k)$가 표준 정규분포 $\mathcal{N}(0, I)$와 얼마나 유사한가? (정규화 항)</li>
</ul>
</li>
</ul>
<h2 id="6-case-study-results-and-analysis">6. Case Study: Results and Analysis</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1ddfb7f0-56b3-4490-b373-91912ee7d203/image.png" alt=""></p>
<blockquote>
<p>실제 디트로이트 근처의 고속 연속 제조 라인에서 수집된 &quot;Multistage continuous-flow manufacturing process (MCMP)&quot; 오픈소스 데이터셋을 사용하여 모델을 검증</p>
</blockquote>
<ul>
<li>시스템 구성: 2단계(Stage) - 5개 기계(Machine) 구조<ul>
<li>Stage I: 3개의 병렬 기계(Machine 1, 2, 3) $\rightarrow$ 결합기(Combiner)</li>
<li>Stage II: 2개의 직렬 기계(Machine 4, 5). </li>
</ul>
</li>
<li>데이터:<ul>
<li>입력 ($X$): 총 55개 변수 (Stage I: 41개, Stage II: 14개)</li>
<li>출력 ($Y$): 각 단계별 15개의 품질 측정값 (총 30개 레이블)</li>
</ul>
</li>
</ul>
<h3 id="61-data-pre-processing">6.1 Data Pre-processing</h3>
<blockquote>
<p>MCMP 데이터셋의 품질 측정값(레이블)은 노이즈가 많고 오류가 잦다는 문제가 있다. 따라서 기존 연구에서는 마스킹 기법을 사용했지만, 본 paper에서는 이를 개선하기 위해 자동화된 노이즈 제거(Denoising) 기법 제안 </p>
</blockquote>
<ul>
<li>자동 전처리 2단계<ul>
<li>Zero-reading 제거: 데이터의 20% 이상이 0으로 기록된 레이블은 신뢰할 수 없으므로 삭제</li>
</ul>
</li>
</ul>
<ul>
<li>이상치(Outlier) 제거: 남은 레이블 중, 중위수(Median)로부터 표준편차의 3.5배를 벗어나는 값은 이상치로 간주하여 제거</li>
</ul>
<ul>
<li>결과<ul>
<li>전처리 후, 예측해야 할 품질 레이블의 개수는 Stage I에서 8개 ($q_1=8$), <strong>Stage II에서 13개 ($q_2=13$)</strong>로 최종 형성</li>
</ul>
</li>
</ul>
<h3 id="62-implementation-details">6.2 Implementation Details</h3>
<ul>
<li><p>데이터 분할: 전체 데이터를 학습(70%), 검증(10%), 테스트(20%) 세트로 무작위 분할</p>
</li>
<li><p>잠재 공간 크기 ($d_h$): 모든 단계의 잠재 변수 차원을 60으로 통일($d_{h,1} = d_{h,2} = 60$)</p>
<ul>
<li>이유: 충분히 큰 잠재 공간을 만들어두면, 각 공정 단계는 그 중 자신에게 필요한 일부 부분공간(Subset)에만 영향을 미치게 되므로 모델링이 가능하기 때문이다.</li>
<li>이에 따라 Koopman 행렬들($K, K^\mu, K^\sigma$)의 크기는 모두 $60 \times 60$이 된다.</li>
</ul>
</li>
<li><p>하이퍼파라미터 설정</p>
<ul>
<li>Batch size: 64 </li>
<li>Learning rate: 사전 학습(Pre-training) 시 $10^{-3}$, 미세 조정(Fine-tuning) 시 $3 \times 10^{-4}$ </li>
<li>가중치: $\theta = 0.1$ (재구성 오차 가중치), $\omega = 5 \times 10^{-5}$ (KL Divergence 가중치), $\rho = 1$ (예측 오차 가중치)</li>
</ul>
</li>
</ul>
<h3 id="63-performance-evaluation">6.3 Performance Evaluation</h3>
<blockquote>
<p>저자들은 MCMP(Multistage continuous-flow manufacturing process) 데이터셋을 활용해 SDK와 최신 알고리즘들의 성능을 비교 분석했다. 결론적으로 SDK는 단순 정확도뿐만 아니라, 가변적인 공정 조건과 노이즈 환경에서도 가장 신뢰할 수 있는 모델임이 확인되었다.</p>
</blockquote>
<p><strong>1. Benchmarks</strong></p>
<ul>
<li><p>기본 모델: ANN (기초 신경망), RF (Random Forest)</p>
</li>
<li><p>SOTA 모델: PGAT (그래프 어텐션), DMMTL (다단계 멀티태스크 학습)</p>
</li>
<li><p>Ablation 모델: S-AEK (정적 Koopman 행렬), E-AEK (동적 Koopman 행렬)</p>
</li>
</ul>
<p><strong>2. Quantitative Results</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/0a3b134e-0f02-4e09-af88-40927b839113/image.png" alt=""></p>
<ul>
<li>SDK의 우수성: SDK는 Stage I, Stage II 및 전체 MSE에서 가장 낮은 오차를 기록하며 최고의 성능을 입증했다.</li>
</ul>
<ul>
<li>RF: <strong>Random Forest(RF)</strong>가 일부 딥러닝 모델보다 우수한 성능을 보였는데, 이는 데이터셋의 크기가 작고 전처리가 잘 되어 노이즈가 적었기 때문으로 분석된다.</li>
</ul>
<ul>
<li>단계별 난이도: 누적된 공정 영향으로 인해 모든 모델에서 Stage I보다 Stage II의 예측 오차가 더 높게 나타났다.</li>
</ul>
<p><strong>3. Robustness Analysis</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/72086695-442f-4b18-880e-a77826ffb990/image.png" alt=""></p>
<ul>
<li>E-AEK vs. S-AEK: 정상 범위에서는 비슷하나, 조건이 급변하는 구간에서는 입력 데이터에 따라 변하는 동적 전이 행렬을 가진 E-AEK가 더 우수한 성능을 보인다.</li>
</ul>
<ul>
<li>** SDK: SDK는 확률적(Stochastic) 모델링을 통해 공정 노이즈와 이상치에 대한 강건성을 확보하여, 모든 작동 구간에서 가장 안정적이고 낮은 오차를 기록했다.**</li>
</ul>
<h3 id="64-anaysis-in-the-latent-space">6.4 Anaysis in the Latent Space</h3>
<blockquote>
<p>SDK 모델이 블랙박스가 아니라, 잠재 공간(Latent Space) 분석을 통해 공정의 내부 거동을 어떻게 투명하게 보여주는지 설명한다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/e7841c09-320a-473f-8e29-04753d62fc4d/image.png" alt=""></p>
<p><strong>1. 잠재 차원의 결정 (Dimension Lifting)</strong></p>
<ul>
<li>Koopman 기반 아키텍처는 선형 근사를 효과적으로 수행하기 위해 특징의 차원을 확장(Lift)해야 한다. 저자들은 Elbow Method를 사용하여 최적의 잠재 차원을 <strong>$d_{h,k} = 60$</strong>으로 결정했다. 차원이 너무 크면 계산 비용이 늘어나고 그래디언트 소실 문제가 발생할 수 있다.</li>
</ul>
<p><strong>2. 전이 행렬의 시각화 및 희소성 (Sparsity)</strong></p>
<ul>
<li>학습된 Koopman 전이 행렬을 시각화하면 품질 지표가 어떻게 전파되는지 직관적으로 볼 수 있다. 아래 그림에서 대각 성분의 밝은 점들은 품질 전파 경로를 나타낸다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/61b832ba-b829-4d86-90dc-8eeea55149f1/image.png" alt=""></p>
<ul>
<li><p>결과 해석: $\mathcal{K}^{\mu}_1$는 35개, $\mathcal{K}^{\sigma}_1$는 20개의 0이 아닌 고윳값(Eigenvalues)을 가진다.</p>
</li>
<li><p>의미: 전체 잠재 변수 중 약 절반만이 다음 단계 품질에 유의미한 영향을 미친다는 <strong>희소성(Sparsity)</strong>을 보여준다. </p>
</li>
</ul>
<p>*<em>이는 이상 발생 시 어떤 지표가 문제였는지 역추적(Backtracking)하여 근본 원인(Root Cause)을 빠르게 파악할 수 있게 해준다. *</em></p>
<p><strong>3. SoV 모델과의 연결성</strong></p>
<ul>
<li>SDK는 데이터로부터 핵심 지표와 전이 행렬을 스스로 학습한다는 점에서, 사전 물리 지식이 필수적인 전통적 SoV(Stream-of-Variation) 방법론의 한계를 극복한 데이터 기반 SoV라고 볼 수 있다.</li>
</ul>
<h3 id="65-interpretability-of-sdk">6.5 Interpretability of SDK</h3>
<blockquote>
<p>Koopman 모듈 자체는 선형이라 해석이 쉽지만, 앞뒤에 붙은 신경망(Encoder, Prediction)은 여전히 블랙박스입니다. 이를 보완하기 위해 <strong>민감도 분석(Sensitivity Analysis)</strong>을 수행하여 모델의 설명력을 높였다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/50da6269-4127-4538-bffd-f2e71a3b70f9/image.png" alt=""></p>
<p><strong>1. 민감도 분석 방법</strong>
확률적 네트워크의 특성상 계산이 까다롭지만, 노이즈 변수($\epsilon$)를 0으로 고정하여 명목 작동 조건(Nominal Condition)에서의 입력 변수 중요도를 계산했다.</p>
<p><strong>2. 분석 결과</strong>
위 히트맵에서 밝은 부분은 해당 공정 변수가 품질에 큰 영향을 미침을 나타낸다. 
분석 결과, 일부 소수의 공정 특성(Sparse subset)만이 최종 품질을 결정한다는 것을 알 수 있다. 반면, 어두운 영역(품질과 상관관계가 낮은 변수들)은 향후 더 정밀한 모니터링을 위해 추가적인 센서 데이터 확보가 필요함을 시사한다. </p>
<h3 id="66-discussion">6.6 Discussion</h3>
<p><strong>1. SDK의 차별점</strong></p>
<ul>
<li>기존 VM 아키텍처들이 여러 모델을 이어 붙여(Splicing) 사용하는 것과 달리, SDK는 통합된 프레임워크 안에서 단계별 품질 추정을 수행한다. 이를 통해 중간 단계의 지표들까지 정교하게 조정되어 전체적인 예측 정확도를 높이고 실시간 제어 알고리즘 설계를 용이하게 한다.</li>
</ul>
<p><strong>2. 한계점 (Limitations) 및 비용</strong></p>
<ul>
<li><p>데이터 및 센서 투자: 학습을 위해 방대한 산업 데이터가 필요하며, 이를 위한 센서 설치 비용과 시간이 소요된다.</p>
</li>
<li><p>계산 복잡도: 잠재 공간의 차원 확장과 2단계 학습 과정으로 인해 계산 복잡도가 증가할 우려가 있다.</p>
</li>
<li><p>반론: 하지만 실험 결과 전체 학습 시간은 기존 NN 기반 모델들과 비슷했다. 초기 투자 비용은 향상된 운영 효율성과 ZDM(무결점 제조) 달성을 통해 충분히 상쇄될 수 있다.</p>
</li>
</ul>
<h2 id="7-conclusion">7. Conclusion</h2>
<blockquote>
<p>본 논문은 제조 경쟁력 확보와 ZDM(Zero Defect Manufacturing) 실현을 위해, 다단계 제조 시스템(MMS)에서 실시간으로 결함을 감지할 수 있는 Stochastic Deep Koopman (SDK) 모델을 제안했다.</p>
</blockquote>
<ul>
<li><p>핵심 기여점 (Key Conclusions)</p>
<ul>
<li><p>새로운 프레임워크: VAE와 Koopman Operator를 결합하여, 공정 라인을 따라 품질이 전파되는 과정을 <strong>단계별(Stage-by-stage)</strong>로 정확히 포착</p>
</li>
<li><p>향상된 해석 가능성: 기존 블랙박스 모델과 달리, 품질 변동의 <strong>추적 가능성(Traceability)</strong>을 높여 근본 원인 분석(Root Cause Analysis)과 효과적인 품질 제어를 가능하게 했다.</p>
</li>
<li><p>범용성 (Versatility): 복잡한 물리적 도메인 지식 없이도 데이터만으로 학습이 가능하여, 다양한 제조 현장에 유연하게 적용될 수 있는 가상 계측(VM) 도구임을 입증했다.</p>
</li>
</ul>
</li>
<li><p>향후 연구 방향 (Future Works):</p>
<ul>
<li><p>데이터 확보: 연합 학습(Federated Learning)을 도입하여 데이터 부족 문제 해결 및 협업 모델 개발</p>
<ul>
<li><p>성능 고도화:  물리적 지식(Physical Knowledge)을 데이터 기반 모델에 통합하는 Physics-informed Learning 적용.</p>
</li>
<li><p>확장성: 단순 감지를 넘어 실시간 제어(Control) 및 경제성/지속가능성 분석(ROI)으로의 연구 확장</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Advancements in Soft-Sensor Technologies for Quality Control in Process Manufacturing: A Review (IEEE Sensors Journal 2025.05)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Advancements-in-Soft-Sensor-Technologies-for-Quality-Control-in-Process-Manufacturing-A-Review-IEEE-Sensors-Journal-2025-05</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Advancements-in-Soft-Sensor-Technologies-for-Quality-Control-in-Process-Manufacturing-A-Review-IEEE-Sensors-Journal-2025-05</guid>
            <pubDate>Sun, 01 Feb 2026 14:28:11 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>해당 paper는 2000년부터 2024년까지 머신러닝(ML) 기반 소프트 센서 기술의 진화 과정을 포괄적으로 다루고 있으며, 제조 현장에서의 품질 예측을 위한 알고리즘, 산업별 적용, 그리고 방법론적 변화를 상세히 분석하고 있다.</p>
</blockquote>
<p><a href="https://ieeexplore.ieee.org/document/10931829">원본 paper는 해당 링크를 참고하시길 바랍니다.</a></p>
<h2 id="summary">Summary</h2>
<blockquote>
<p>01    Motivation
물리적 측정의 한계와 오프라인 분석의 지연(최대 12시간)으로 인한 제조 현장의 실시간 품질 제어 불가능 문제를 해결하기 위한 기술적 대안이 필요하다.</p>
</blockquote>
<blockquote>
<p>02 Review Focus
2000년부터 2024년까지의 연구를 분석하여, 단순 통계 모델에서 딥러닝으로 이어지는 <strong>소프트 센서 기술의 진화(Evolution)</strong>와 산업별 적용 양상을 체계적으로 규명한다.</p>
</blockquote>
<blockquote>
<p>03    Key Challenges
공정 데이터의 비선형성(Nonlinearity), 시계열적 지연(Time Delay), 그리고 데이터 주기 차이(Multirate Sampling)로 인한 데이터 불균형이 소프트 센서 개발의 주요 걸림돌이다.</p>
</blockquote>
<blockquote>
<p>04    Contribution
머신러닝 알고리즘의 분류 체계(Taxonomy)를 정립하고, 시멘트 공정 등에서 에너지 소비를 최대 9.3%까지 절감할 수 있는 실질적 효용성을 입증했다.</p>
</blockquote>
<blockquote>
<p>05    Comparative Analysis
딥러닝은 정확도가 높으나 연산 비용이 크고, Tree 기반 모델은 $O(N \cdot D)$의 선형적 복잡도와 낮은 성능 편차를 보여 실시간성과 안정성 면에서 우수하다.</p>
</blockquote>
<blockquote>
<p>06    Practical Insight
현장 적용(Deployment) 시, 무조건적인 고성능 딥러닝보다는 <strong>경량화(Lightweight)</strong>와 성능 안정성이 보장된 Tree 모델이나 엣지 컴퓨팅 전략이 더 유효할 수 있다.</p>
</blockquote>
<blockquote>
<p>07    Future Directions
딥러닝의 데이터 요구량을 충족하기 위한 GAN 기반 데이터 증강, 타 공정 지식을 활용하는 전이 학습(TL), 그리고 데이터 보안을 위한 <strong>연합 학습(FL)</strong>이 핵심 연구 주제가 될 것이다.</p>
</blockquote>
<h2 id="0-abstract">0. Abstract</h2>
<ul>
<li><p>최근 머신러닝은 제조 공장의 품질 관리를 강화하는 핵심 도구이다. 그러나 제조 현장에서 실시간 품질 평가는 여전히 어려운 과제이다. 이에 대한 해결책으로 2000년 이후 <strong>소프트 센서(Soft Sensor)</strong>가 주목받고 있다. 소프트 센서는 ML을 활용해 공정 품질 지표를 예측하는 기술로, 공정 안정성 확보, 제품 폐기율 감소, 에너지 및 연료 효율 향상과 같은 이점을 제공한다.</p>
</li>
<li><p>초기에는 정유, 폴리머, 시멘트, 철강 산업을 중심으로 개발되었으나 점차 다양한 산업으로 확산되고 있다. 알고리즘 측면에서는 단순 선형 알고리즘에서 시작하여 신경망, SVM(Support Vector Machine), 트리 기반 모델을 거쳐, 최근에는 복잡한 딥러닝 모델로 진화하였다. 데이터 가용성과 컴퓨팅 파워의 증가는 딥러닝 알고리즘을 소프트 센서 연구의 주류로 만들고 있으며, 이는 에너지 소비 절감과 생산율 향상, $CO_2$ 발자국 감소에 기여할 것이다.</p>
</li>
</ul>
<h2 id="1-introduction">1. Introduction</h2>
<blockquote>
<ol>
<li>Problem<br>물리적 센서의 설치 제약과 오프라인 분석의 긴 소요 시간(최대 12시간)으로 인해 제조 현장에서 실시간 품질 평가 및 즉각적 제어가 불가능한 한계를 해결하고자 한다.</li>
</ol>
</blockquote>
<h3 id="11-problem-definition">1.1 Problem Definition</h3>
<blockquote>
<p>2000년 이후 철강, 시멘트, 폴리머, 정유 등 공정 제조 산업은 새로운 도전에 직면했다. 과거에는 단순히 비용 절감과 생산 용량 증대가 주된 관심사였으나, 현재는 사회적 책임과 생태학적 발자국(Ecological Footprint) 감소가 필수적인 요구사항으로 대두되었다. 낮은 품질은 단순한 비용 손실을 넘어 사회적, 환경적 악영향을 초래하기 때문이다.</p>
</blockquote>
<p><strong>1. 실시간 품질 평가의 불가능성:</strong> 적절한 측정 장비의 부재, 설치 공간의 제약, 높은 비용 문제로 인해 공정 중 실시간으로 품질을 확인하는 것은 현실적으로 불가능에 가깝다.</p>
<p><strong>2. 오프라인 분석의 시간 지연:</strong> 기존 방식은 공정 후 샘플을 채취하여 실험실에서 분석하는 오프라인 방식에 의존한다. 이 과정은 결과 확인까지 <strong>최대 12시간</strong>이 소요되므로, 공정 엔지니어가 이상 상황에 대해 즉각적으로 대응하거나 제어하는 것을 어렵게 만든다.</p>
<h3 id="12-solution">1.2 Solution</h3>
<blockquote>
<p>이러한 물리적 센서의 한계를 극복하고 실시간 대응 체계를 구축하기 위해 <strong>소프트 센서(Soft Sensor) 기술</strong>이 개발되었다. 이는 하드웨어 센서를 대체하는 수학적 모델로서, 2000년 이후 데이터 가용성의 증가와 함께 급격히 성장하고 있다.</p>
</blockquote>
<p><strong>1. 소프트 센서의 정의 및 원리:</strong> 소프트 센서는 이용 가능한 공정 데이터(온도, 압력 등)와 품질 변수 간의 상관관계를 분석하여, 측정하기 어려운 미지의 실시간 품질 변수를 정확히 추정해 내는 가상의 센서 모델이다.</p>
<p><strong>2. 에너지 및 비용 절감 효과:</strong> 소프트 센서를 통한 실시간 예측은 공정 효율을 극대화한다. 예를 들어, 시멘트 밀(Mill) 공정에서 1일 압축 강도를 예측하여 클링커 분말도를 최적화할 경우 약 3%의 에너지를 절감할 수 있다. 또한, 시멘트 킬른(Kiln)에서 유리 석회(Free lime)를 예측하여 제어할 경우 연료 소비를 <strong>9.3%까지</strong> 줄일 수 있음이 입증되었다.</p>
<p><strong>3. 데이터 기반 모델로의 진화:</strong> 복잡한 물리, 화학적 공정 지식이 없어도 구축 가능한 데이터 기반(Data-driven) 모델이 확산되고 있다. 이는 공정 데이터가 풍부해짐에 따라 더욱 정교해지고 있으며, 제조 현장의 품질 관리 패러다임을 사후 분석에서 실시간 예측 및 제어로 전환시키는 핵심 솔루션으로 자리 잡고 있다.</p>
<h2 id="2-methodology">2. Methodology</h2>
<blockquote>
<p>저자들은 주요 데이터베이스에서 390개 이상의 연구를 검색하고 스크리닝하여, 최종적으로 107개의 논문을 선정하였다. 선정 기준은 출판 연도, 적용된 ML 알고리즘, 관련 산업(정유, 시멘트, 수처리 등), 샘플링 모델, 튜닝 접근법, 평가 지표 등을 고려하였다.
본 리뷰 논문은 다음의 4가지 주요 질문에 대한 답을 찾는 것을 목표로 수행되었다. </p>
</blockquote>
<blockquote>
<p>Key Research Question</p>
</blockquote>
<ol>
<li>2000년 이후, 공정 제조 산업에서 품질 변수 예측을 위한 소프트 센서 개발과 관련하여 머신러닝은 어떻게 발전해 왔는가?</li>
<li>해당 기간 동안 주로 사용된 지배적인 ML 알고리즘은 무엇인가?</li>
<li>제조 분야의 품질 관리를 목적으로 소프트 센서가 주로 개발된 핵심 산업군은 어디인가?</li>
<li>샘플 확보, 모델 튜닝, 그리고 성능 평가를 위해 어떠한 방법론이 사용되었는가?</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b8d7534d-3e64-40d3-bb30-4a83b28743e1/image.png" alt=""></p>
<p><strong>1. 정보 추출 단계</strong></p>
<ul>
<li>Year (연도): 해당 연구가 출판된 시점</li>
<li>ML Algorithms Used (사용된 ML 알고리즘): 소프트 센서 구현에 사용된 머신러닝 모델의 종류</li>
<li>Industries (산업): 해당 기술이 적용된 제조 분야 (예: 시멘트, 정유, 철강 등)</li>
<li>Sample Features (샘플 특징): 데이터의 특성 및 샘플링 방법</li>
<li>Tuning Methods (튜닝 방법): 모델의 성능을 최적화하기 위해 사용된 하이퍼파라미터 튜닝 기법</li>
<li>Evaluation Metrics (평가 지표): 모델의 성능을 측정하기 위해 사용된 척도 (RMSE, $R^2$ 등)</li>
</ul>
<p><strong>2. 연구 목표 달성 단계</strong></p>
<ul>
<li><p>Objective (Evolution): &#39;Year&#39; 데이터를 분석하여 시간의 흐름에 따른 기술의 진화(Evolution) 양상 파악</p>
</li>
<li><p>Objective (Algorithms): &#39;ML Algorithms Used&#39; 데이터를 통해 시기별 지배적인 알고리즘 트렌드 분석</p>
</li>
<li><p>Objective (Industries): &#39;Industries&#39; 데이터를 통해 어떤 산업 분야에서 소프트 센서가 주로 활용되는지 파악</p>
</li>
<li><p>Objective (Methodology): &#39;Sample Features&#39;, &#39;Tuning Methods&#39;, &#39;Evaluation Metrics&#39; 데이터를 종합하여 연구 <strong>방법론(Methodology)</strong>의 변화와 표준 정립</p>
</li>
</ul>
<h2 id="3-data">3. Data</h2>
<h3 id="31-ml-taxonomy">3.1 ML Taxonomy</h3>
<blockquote>
<p>소프트 센서에 사용되는 ML 알고리즘은 크게 지도 학습(Supervised)과 비지도 학습(Unsupervised)으로 나뉜다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/3be9def9-d2bc-4b6c-8e68-288c320a179a/image.png" alt=""></p>
<ul>
<li><p>지도 학습과 비지도 학습을 상위 계층으로 두고, 각각 전통적 방법(Non-DL)과 딥러닝(DL)으로 세분화한 분류도이다.</p>
</li>
<li><p>지도 학습 (Supervised):</p>
<ul>
<li><p>전통적 방법: <a href="https://www.tandfonline.com/doi/abs/10.1080/00401706.1970.10488634">회귀(Regression)</a>, <a href="https://link.springer.com/article/10.1007/BF00116251">트리 기반(Tree-based)</a>, <a href="https://ieeexplore.ieee.org/document/1053964">KNN</a>,<a href="https://link.springer.com/article/10.1007/BF00994018"> SVM/SVR</a>, <a href="https://www.researchgate.net/publication/228845263_An_Empirical_Study_of_the_Naive_Bayes_Classifier">베이지안</a>, 얕은 신경망(Shallow Neural Net)</p>
</li>
<li><p>딥러닝(DL): 다층 퍼셉트론(MLP), CNN, RNN</p>
</li>
</ul>
</li>
<li><p>비지도 학습 (Unsupervised):</p>
<ul>
<li><p>전통적 방법: 클러스터링, PCA, LDA</p>
</li>
<li><p>딥러닝(DL): 오토인코더(AE), <a href="https://direct.mit.edu/neco/article-abstract/18/7/1527/7065/A-Fast-Learning-Algorithm-for-Deep-Belief-Nets?redirectedFrom=fulltext">DBN(Deep Belief Network)</a>, <a href="https://stanford.edu/~jlmcc/papers/PDP/Volume%201/Chap6_PDP86.pdf">RBM(Restricted Boltzmann Machine)</a>, <a href="https://link.springer.com/article/10.1007/BF00337288">SOM(Self-Organizing Map)</a>, GAN</p>
</li>
</ul>
</li>
</ul>
<h3 id="32-histroical-background">3.2 Histroical Background</h3>
<blockquote>
<p>지난 20여 년간 제조 공정의 품질 예측을 위한 소프트 센서 기술은 단순한 통계 모델에서 복잡한 딥러닝 시스템으로 비약적인 발전을 이루었다. 이 과정은 공정 데이터의 특성(비선형성, 시계열성, 데이터 불균형)을 극복하기 위한 알고리즘의 진화 과정과 궤를 같이한다.</p>
</blockquote>
<p><strong>1. 1990년대 ~ 2000년대</strong>
1990년대 초반, 연구자들은 제조 품질 변수를 예측하기 위해 PLS(부분 최소 제곱), PCA, ANN과 같은 데이터 기반 알고리즘을 사용하기 시작했다. 그러나 이 분야에 대한 집중적인 연구와 새로운 알고리즘의 개발은 2000년 이후 본격화되었으며, 이는 공정 품질 예측을 위한 <strong>소프트 센서(Soft Sensor)</strong>의 실질적인 적용으로 이어졌다.</p>
<p><strong>2. 2010년 ~ 2016년: ANN과 SVM을 통한 비선형성 극복</strong>
이 시기에는 공정의 복잡한 비선형성을 처리하기 위해 ANN의 변형 모델들과 SVM이 집중적으로 연구되었다.</p>
<ul>
<li><p>ANN 변형 모델 (ELM, RBF): 기존 ANN의 느린 학습 속도와 지역 최소값(Local Minima) 문제를 해결하기 위해 ELM(Extreme Learning Machine)이 도입되었다. 또한, RBF(방사 기저 함수) 신경망 역시 ANN보다 우수한 성능을 보이며 활발히 연구되었다.</p>
</li>
<li><p>SVM (Support Vector Machine): 통계학적 학습 이론에 기반한 SVM은 적은 데이터로도 일반화 성능이 뛰어나고 비선형성 처리에 강점을 보였다. 시멘트 가마의 유리 석회(Free lime) 예측, 철강 빌렛 온도 예측, 폴리머 용융 지수 예측 등 다양한 분야에서 SVM 기반 소프트 센서가 개발되었다.</p>
</li>
<li><p>앙상블(Ensemble) 기법: 단일 모델로는 계절성이나 공정 노후화 같은 다양한 운전 모드를 대변하기 어렵다는 한계를 극복하기 위해, 여러 하위 모델을 결합하여 예측 안정성을 높이는 앙상블 기법이 제안되었다.</p>
</li>
</ul>
<p><strong>3. 2018년 이후: 딥러닝(Deep Learning)의 부상과 데이터 문제 해결</strong>
2018년을 기점으로 딥러닝(DL) 모델이 소프트 센서 개발의 주류로 부상했다. </p>
<ul>
<li>Stacked AE(SAE), CNN, GRU, MLP 등의 알고리즘은 단순한 예측을 넘어 <strong>특징 추출(Feature Extraction)</strong>과 <strong>데이터 증강(Data Augmentation)</strong>이라는 새로운 가능성을 열었다.</li>
<li>특징 추출 및 예측: SAE를 이용해 품질과 관련된 비선형 특징을 추출하고 이를 회귀 모델에 입력하는 방식을 제안했다. </li>
<li>CNN은 특징 추출기와 예측기 역할을 동시에 수행하기도 한다. </li>
<li>데이터 불균형 해소 (GAN의 활용): 소프트 센서 개발의 고질적인 문제는 &#39;공정 데이터(빠른 주기)&#39;와 &#39;품질 데이터(느린 주기)&#39; 간의 <strong>다중 속도 샘플링(Multirate sampling)</strong>으로 인한 데이터 불균형이다. 이를 해결하기 위해 <strong>GAN(생성적 적대 신경망)</strong>이 활용된다.<ul>
<li>원리: 생성자(Generator)는 실제 데이터 분포를 모방하여 가짜 샘플을 만들고, 판별자(Discriminator)는 진위를 가려내며 경쟁적으로 학습한다.</li>
<li>효과: GAN을 통해 부족한 레이블 데이터를 증강했을 때 RMSE와 $R^2$ 성능이 크게 향상되었다. 이는 딥러닝이 단순한 모델링 도구를 넘어, 데이터 부족 문제를 근본적으로 해결하는 데 기여하고 있음을 시사한다.</li>
</ul>
</li>
</ul>
<h2 id="4-results-and-discussion">4. Results and Discussion</h2>
<h3 id="41-industries-and-algorithms">4.1 Industries and Algorithms</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ce04cff2-d83d-470c-85fe-1903d4d1eb8a/image.png" alt=""></p>
<ul>
<li>2000년 이후 소프트 센서 관련 연구가 급격히 증가하고 있음을 보이고 있음</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/0fa2e45c-9b33-4a64-a3b4-5e5c21348bee/image.png" alt=""></p>
<ul>
<li>2000-2005년에는 선형 회귀가 1/3을 차지했으나, 2021-2024년 기간에는 딥러닝(DL) 알고리즘이 전체 논문의 약 56%를 차지할 정도로 비중이 확대되었다. </li>
<li>그럼에도 SVM/SVR, 트리 기반 모델은 그 단순성과 효율성 덕분에 여전히 널리 사용되고 있다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9e92e1c9-c66f-49fc-bb04-3db0ec980862/image.png" alt=""></p>
<ul>
<li>정유, 폴리머, 시멘트 산업이 전통적으로 가장 많은 비중을 차지하지만, 최근에는 수처리(Water treatment) 및 철강(Steel) 공정에서의 도입이 증가하고 있다.</li>
</ul>
<h3 id="42-sampling">4.2 Sampling</h3>
<blockquote>
<p>일반적인 경험 법칙(Rule of thumb)에 따르면, 샘플 수는 입력 파라미터(Feature) 수의 10배에서 100배가 되어야 한다. 따라서 품질 데이터의 경우 드물게 생성되는 반면 공정 데이터는 빈번하게 생성되므로 데이터 불균형이 발생한다. 이를 해결하기 위해 <strong>GAN(생성적 적대 신경망)</strong>을 활용하여 가상 샘플을 생성하고 라벨 데이터를 증강하는 연구가 활발하다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/fbff5e4c-c6d7-4dba-b01f-4029dfbd1b99/image.png" alt=""></p>
<ul>
<li>딥러닝 모델의 등장과 함께 요구되는 샘플 수가 급증했다. </li>
<li>예를 들어, LSTM 모델의 경우 3만 개 이상의 파라미터 학습을 위해 58,364개의 샘플이 사용되었습니다.</li>
</ul>
<h3 id="43-metrics">4.3 Metrics</h3>
<blockquote>
<p>모델 적합성을 평가하기 위해 다양한 지표가 사용된다.</p>
</blockquote>
<ol>
<li>결정계수 ($R^2$): 모델 예측값과 실제값의 관계를 측정하며 단위가 없다.</li>
<li>RMSE (Root-Mean-Square Error): 가장 널리 쓰이는 지표이나, 측정 단위에 의존적이라 서로 다른 공정 간 비교가 어려울 수 있다.</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/072088ec-0bbf-4913-9f27-b9340b379db6/image.png" alt=""></p>
<ul>
<li>모델의 적합도가 시간이 지남에 따라 평균 0.74에서 0.94로 크게 향상되었음을 보여준다.
<img src="https://velog.velcdn.com/images/jja_jja/post/e31031c0-b04d-4439-8c9e-01a402cb12d2/image.png" alt=""></li>
<li>ANN, 딥러닝(DL), 트리 기반 알고리즘이 타 모델 대비 더 높은 적합도를 달성하는 경향이 있다.</li>
<li><strong>특히 Tree 기반 모델은 Q1과 Q3 사이의 범위(IQR)가 가장 좁게 나타나는데, 이는 다양한 연구 및 적용 환경에서도 성능 편차가 크지 않고 타 알고리즘 대비 가장 일관되고 안정적인 예측 정확도를 보임을 시사한다.</strong></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/504f6cec-6650-4c81-ba6b-51daffd379d4/image.png" alt=""></p>
<ul>
<li>여전히 RMSE가 선호되지만, 최근 들어 산업 간 비교가 용이한 $R^2$의 사용이 증가하고 있다.</li>
</ul>
<h3 id="44-lightweight-models--edge-computing">4.4 Lightweight Models &amp; Edge Computing</h3>
<blockquote>
<p>리소스가 제한적인 환경이나 빠른 응답이 필요한 경우, 클라우드 대신 <strong>엣지 컴퓨팅(Edge Computing)</strong>이 유리할 수 있다. 이를 위해 모델의 크기를 줄이는 경량화 기술이 중요해졌음을 시사한다. </p>
</blockquote>
<ul>
<li><p>경량화 기술 목록은 아래와 같다.</p>
<ul>
<li><p>가중치 압축(Weight Compression): SVD 등을 통해 가중치를 줄임</p>
</li>
<li><p>가지치기(Pruning): 덜 중요한 가중치를 제거하여 모델 크기를 최대 90%까지 축소</p>
</li>
<li><p>양자화(Quantization): 파라미터를 낮은 비트 수로 변환하여 메모리 사용량 감소</p>
</li>
<li><p>지식 증류(Distillation): 복잡한 교사 모델(Teacher)의 지식을 작은 학생 모델(Student)에 전달하여 정확도를 유지하면서 연산량을 줄임</p>
</li>
</ul>
</li>
</ul>
<h3 id="45-performance-criteria">4.5 Performance Criteria</h3>
<blockquote>
<p>소프트 센서 알고리즘 선택 시 고려해야 할 정성적 비교 결과는 다음과 같다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/083ac396-751c-49de-8291-59d4c719f8f9/image.png" alt=""></p>
<ul>
<li>정확도가 최우선 목표라면 DL이나 SVM이 적합하며, 학습 속도가 중요하다면 트리 기반 알고리즘이나 KNN, Naïve Bayes가 추천된다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/cdec43ee-9b85-49b3-bb91-90aa37dfaaa4/image.png" alt="">
Ja Hyeob Koo, Yong Ho Song, Jae Hyeon Shim, So Yeong Lee, Young Hoon Lee, LOL: Learning with One Lightweight Sensor-Aware Predictive Model For Sleep Quality, IEEE ICTC 2025 proceeding, Jeju, 2025</p>
<ul>
<li><a href="https://share.google/C7XVjSZrYD0DvcrFI">2025 IEEE ICTC</a>에서 직접 연구했던 표를 가져오면, Transformer 모델($O(T^2 \cdot d)$) 대비 선형적인 시간 복잡도($O(N \cdot D)$)와 현저히 낮은 구조적 복잡도를 가짐으로써 실제 현장 적용성(Deployment)까지 보장한다는 점을 강력하게 뒷받침한다.</li>
<li>즉, Tree 모델은 단순히 성능의 편차가 적을 뿐만 아니라, 연산 효율성 측면에서도 딥러닝 모델 대비 압도적인 경량화가 가능하여 실시간성이 요구되는 제조 현장에 가장 최적화된 모델임을 알 수 있다.</li>
</ul>
<h2 id="5-conclusion">5. Conclusion</h2>
<ul>
<li><p>연구의 급성장: 2000년 이후 머신러닝 기술의 확산과 공정 효율화(에너지 절감, 불량률 감소)에 대한 산업계의 강력한 동기가 맞물려 소프트 센서 연구가 급증했다. </p>
</li>
<li><p>기술의 진화: 초기 단순 선형 알고리즘에서 시작하여, 공정의 비선형성, 다중 속도 샘플링, 시간 지연 등의 복잡한 문제를 해결하기 위해 딥러닝(DL) 모델로 발전했다.</p>
</li>
<li><p>모델의 공존: 딥러닝이 주류가 되었으나, 자원이 제한된 환경에서는 여전히 SVM, 트리 기반 모델 등 전통적 알고리즘이 효율적인 대안으로 활용되고 있다.</p>
</li>
<li><p>평가 지표의 변화: 전통적으로 사용되던 RMSE 외에, 단위의 영향을 받지 않아 산업 간 성능 비교가 용이한 결정계수($R^2$)의 활용이 확대되었다.</p>
</li>
<li><p>새로운 접근법: 개별 공정 모델의 한계와 데이터 부족 문제를 극복하기 위해, 지식을 공유하는 전이 학습(Transfer Learning)과 연합 학습(Federated Learning)이 새로운 해결책으로 부상했다.</p>
</li>
<li><p>향후 과제: 미래 연구는 딥러닝을 중심으로 전개되겠지만, 실시간 공정 통합을 위한 시간 제약 극복, 입력 변수의 자동 선택, 그리고 GAN 등을 활용한 부족한 라벨 데이터 생성 기술이 해결해야 할 핵심 과제로 남아있다 .</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[논문 리뷰] Chronos-2: From Univariate to Universal Forecasting (Amazon 2025.10)]]></title>
            <link>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Chronos-2-From-Univariate-to-Universal-Forecasting-Amazon-2025.10</link>
            <guid>https://velog.io/@jja_jja/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Chronos-2-From-Univariate-to-Universal-Forecasting-Amazon-2025.10</guid>
            <pubDate>Mon, 19 Jan 2026 04:53:03 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>해당 리뷰에서는 아마존에서 2024년에 발표한 Chronos는 기존 단변량 예측에 집중되었으나, 2025년 10월, Chronos-2로서 단변량, 다변량, 그리고 공변량을 포함한 예측 작업을 제로샷(zero-shot) 방식으로 처리할 수 있는 사전 학습 모델을 제안한다. 이에 대해서 Time-Series Forecasting 연구 방향성에서 이를 접목시키고자 정리한 글이다.</p>
</blockquote>
<p><a href="https://arxiv.org/abs/2403.07815">이전 Chronos-1 original paper</a></p>
<h2 id="핵심-내용-정리">핵심 내용 정리</h2>
<blockquote>
<p><strong>01. Problem</strong>
기존 연구의 결정적 결함 (Gap)기존의 시계열 파운데이션 모델(Chronos-1, TimesFM, Lag-Llama 등)은 대부분 단변량(Univariate) 예측에 국한되어 있었다. 그러나 실제 산업 현장(에너지, 리테일 등)에서는 여러 변수가 상호작용하는 다변량 데이터와 외부 요인(날씨, 가격 등)인 공변량(Covariates) 처리가 필수적이다. 기존 모델들은 다변량 데이터를 처리할 때 단순히 변수를 이어 붙이거나 독립적으로 취급하여 변수 간의 복잡한 상관관계를 놓치거나 연산 효율성이 급격히 떨어지는 한계를 보였다.  </p>
</blockquote>
<blockquote>
<p>*<em>02. Idea *</em>
이 논문만의 독창적인 한 줄 논리&quot;그룹 ID(Group ID)와 그룹 어텐션(Group Attention)을 통해, 아키텍처 변경 없이 배치 내 시계열 간 정보를 유연하게 공유하여 제로샷 다변량/공변량 예측을 구현한다.&quot;</p>
</blockquote>
<blockquote>
<p>** 03. Challenge **</p>
</blockquote>
<ul>
<li>예측 문제의 이질성: 도메인마다 변수 개수와 의미가 제각각이라, 모델이 학습 시 보지 못한 새로운 작업에서 변수 간 상호작용을 스스로 추론해야 하는 기술적 어려움이 있었다.</li>
<li>데이터의 희소성: 다변량 의존성과 정교한 공변량 정보가 포함된 고품질의 사전 학습 데이터를 대량으로 확보하는 것이 불가능에 가까웠다.<blockquote>
</blockquote>
</li>
</ul>
<blockquote>
<p>*<em>04. Contribution *</em></p>
</blockquote>
<ul>
<li>방법론적 혁신: 배치 축을 활용해 정보를 교환하는 그룹 어텐션과 단변량 데이터를 다변량 구조로 변환하는 멀티베리에이타이저(Multivariatizers) 기법을 제안했다.</li>
<li>성능적 가치: fev-bench를 포함한 주요 벤치마크에서 SOTA를 달성했으며, 특히 공변량 활용 작업에서 독보적인 성능 향상을 입증했다.</li>
<li>실용적 효율성: 8,192단계의 긴 컨텍스트를 지원하면서도 중급형 GPU(NVIDIA A10G)에서 초당 300개의 시계열을 처리하는 높은 처리량을 확보했다.</li>
</ul>
<blockquote>
<p><strong>05 Pros &amp; Cons</strong> </p>
</blockquote>
<ul>
<li>강점(Pros): 별도의 파인튜닝 없는 뛰어난 제로샷 범용성, 변수 개수가 늘어나도 연산량이 완만하게 증가하는 확장성($O(V)$), 그리고 $sinh^{-1}$ 변환을 통한 이상치 대응 능력이 탁월하다.</li>
<li>약점(Cons): 현재는 수치형과 범주형 공변량만 지원하며, 텍스트나 이미지와 같은 멀티모달 입력은 아직 처리하지 못한다. 또한 다변량 성능의 상당 부분이 합성 데이터에 의존하고 있다.</li>
</ul>
<blockquote>
<p>*<em>06. Takeaway *</em></p>
</blockquote>
<ul>
<li>합성 데이터 생성 전략: 실제 다변량 데이터가 부족할 때, 이 논문에서 사용한 멀티베리에이타이저(동시성/순차적 변환) 개념을 차용해 풍부한 학습 데이터를 직접 구축할 수 있다.</li>
<li>그룹 ID 기반의 유연한 모델링: 추천 시스템이나 다변량 분석 시, 모델 구조를 고정하지 않고 그룹 ID 할당 방식만 조절하여 데이터 간의 관계를 동적으로 학습시키는 로직을 응용할 수 있다.</li>
</ul>
<blockquote>
<p>*<em>07. Limitation *</em></p>
</blockquote>
<ul>
<li>멀티모달 통합: 텍스트 기반의 이벤트 정보나 뉴스 기사 등을 예측에 통합하는 멀티모달 파운데이션 모델로의 확장이 필요하다.</li>
<li>검색 증강 예측(RAG): 그룹 어텐션을 활용해 과거의 유사한 시계열 패턴을 검색하고 이를 예측에 참고하는 Retrieval-augmented forecasting 기법의 정교화가 과제로 남아있다.</li>
<li>희소 메타데이터 최적화: 메타데이터가 매우 부족하거나 노이즈가 심한 환경에서 최적의 그룹화를 수행하는 방법론에 대한 추가 연구가 필요하다.</li>
</ul>
<h2 id="0-abstract">0. Abstract</h2>
<p>사전 학습된 시계열 모델은 별도의 추가 학습 없이도 정확한 예측을 수행하는 &#39;추론 전용&#39; 예측 시스템을 가능하게 했다. </p>
<p>하지만 기존 방식들은 주로 단변량(univariate) 예측에 집중되어 있어, 다변량 데이터와 공변량(covariates)이 중요한 실제 환경에 적용하기에는 한계가 존재한다.</p>
<p>따라서 단변량, 다변량, 그리고 공변량을 포함한 예측 작업을 제로샷(zero-shot) 방식으로 처리할 수 있는 사전 학습 모델인 Chronos-2를 제안하고자 한다. 
<strong>-&gt; 이전 모델(Chronos-1)이 시계열 하나하나를 언어의 &#39;단어&#39;처럼 처리하는 데 집중했다면, Chronos-2는 여러 시계열 간의 관계(다변량)와 외부 요인(공변량, 예: 날씨, 프로모션)까지 한 번에 고려할 수 있도록 진화했다.</strong></p>
<p>Chronos-2는 그룹 어텐션(group attention) 메커니즘을 사용하여 그룹 내 여러 시계열 간 정보를 효율적으로 공유하며, 
이를 통해 <strong>In-context learning, (ICL)</strong>을 수행한다. 
이러한 ICL 능력 덕분에 Chronos-2는 실제 예측 파이프라인에서 즉시 사용할 수 있는 범용 예측 모델로서 사용된다.</p>
<h2 id="1-introduction">1. Introduction</h2>
<h3 id="11-problem-define">1.1 Problem Define</h3>
<blockquote>
<p>최근 시계열 예측 분야는 개별 데이터셋마다 모델을 학습시키던 과거의 방식에서 벗어나, 대규모 데이터로 사전 학습된 <strong>‘Foundation Models’</strong>을 활용하는 방향으로 패러다임이 전환되고 있다. 
그러나, 이러한 발전에도 불구하고 실제 산업 현장에 적용하기에는 다음과 같은 치명적인 한계점들이 존재한다.</p>
</blockquote>
<p><strong>1. 단변량(Univariate) 중심의 설계:</strong> 기존의 대다수 사전 학습 모델은 과거의 단일 관측값만 참고하는 단변량 예측에 최적화되어 있다. 그러나 실제 환경에서는 클라우드 서버의 CPU와 메모리 사용량이 연동되어 움직이거나, 소매점의 매출이 프로모션이나 날씨 같은 외부 요인(공변량)에 의해 결정되는 등 다변량(Multivariate) 데이터의 처리가 필수적이다.</p>
<p><strong>2. 학습 데이터의 희소성:</strong> 다변량 의존성과 복잡한 공변량 정보가 포함된 고품질의 시계열 데이터를 대량으로 확보하는 것은 현실적으로 매우 어렵다.</p>
<p><strong>3. 도메인별 이질성:</strong> 각 예측 작업마다 변수의 개수와 의미가 다르기 때문에, 보지 못한 새로운 작업(Unseen Task)에서 변수 간의 상호작용을 모델이 스스로 추론해내기가 기술적으로 까다로웠다.</p>
<p><strong>4. 기존 아키텍처의 비효율성:</strong> Chronos-1을 포함한 초기 모델들은 T5 계열 모델로, 시계열을 단순 언어 토큰으로 취급하여 처리했으나, 이는 시계열 데이터가 가진 고유의 물리적 특성이나 정교한 확률 분포를 반영하는 데 한계가 있었다.</p>
<h3 id="12-key-contribution">1.2 Key Contribution</h3>
<blockquote>
<p>Chronos-2는 위에서 언급한 한계점들을 극복하고, 단변량부터 다변량, 공변량 포함 작업까지 모두 수행할 수 있는 <strong>‘범용 시계열 예측 모델(Universal Forecaster)’</strong>로서 다음과 같은 핵심적인 기여는 아래와 같다. </p>
</blockquote>
<p><strong>1. 아키텍처의 고도화 (Patching &amp; Quantile Head)</strong>: Chronos-1이 T5 언어 모델 아키텍처를 그대로 사용하여 Token Classification 방식을 택한 것과 달리, Chronos-2는 시계열 데이터의 특성에 <strong>최적화된 Patching 기법</strong>을 도입했다. 이를 통해 더 긴 컨텍스트를 효율적으로 처리할 수 있게 되었다. 뿐만 아니라 <strong>Quantile Head를</strong> 탑재하여 단순한 수치 예측을 넘어 정교한 확률적 분포를 직접 예측함으로써 예측의 불확실성까지 효과적으로 포착한다.</p>
<p><strong>2. 그룹 어텐션(Group Attention) 메커니즘 도입</strong>: 여러 시계열 변수를 &#39;그룹&#39;으로 묶고, 배<strong>치 축(Batch axis)을 통해 정보를 공유하는 혁신적인 어텐션 방식을 제안</strong>했다. 이 메커니즘은 변수의 개수가 늘어나도 연산 비용이 급격히 증가하지 않도록 설계되었으며, 동시에 변수 간의 복잡한 상관관계를 학습할 수 있게 한다.</p>
<p><strong>3. In-Context Learning, ICL의 극대화</strong>: 모델 파라미터를 별도로 수정하지 않고도 입력된 데이터 샘플들 사이의 관계를 실시간으로 파악하여 예측에 반영하는 능력을 갖췄다. <strong>이는 추가적인 파인튜닝 없이 즉시 현장에 투입하여 결과를 도출할 수 있는 제로샷(Zero-shot) 성능의 핵심</strong>이 된다.</p>
<p><strong>4. 합성 데이터(Synthetic Data)를 통한 데이터 한계 돌파</strong>: 고품질의 실제 다변량 데이터가 부족한 문제를 해결하기 위해, 단변량 시계열에 인위적인 다변량 구조와 상관관계를 주입한 대규모 합성 데이터를 학습에 적극 활용했다. 이를 통해 모델은 한 번도 경험하지 못한 <strong>산업군의 외부 변수(공변량)까지 잘 처리</strong>할 수 있는 범용성을 확보했다.</p>
<p><strong>5. SOTA 성능 및 실용성 입증</strong>: 주요 벤치마크에서 기존 모델들을 압도하는 성능을 기록했으며, 특히 공변량이 포함된 작업에서 가장 뚜렷한 성능 향상을 보였다. 아울러 중급형 GPU(NVIDIA A10G) 환경에서도 초당 300개의 시계열을 처리할 수 있을 만큼 높은 계산 효율성을 증명했다.</p>
<h2 id="2-background-and-related-work">2. Background and Related Work</h2>
<blockquote>
<p>시계열 예측이 전통적인 통계 모델에서 최신 파운데이션 모델로 어떻게 진화했는지, 그리고 Chronos-2가 해결하고자 하는 기존 모델들의 한계가 무엇인지 살펴보고자 한다.</p>
</blockquote>
<h3 id="21-시계열-예측-정의와-종류"><strong>2.1 시계열 예측 정의와 종류</strong></h3>
<p>시계열 예측은 과거의 관측값 $y_{1:T}$를 바탕으로 미래의 값 $y_{T+1:T+H}$를 추정하는 작업</p>
<ul>
<li><p>단변량 예측(Univariate): 단일 시계열의 과거 데이터만 사용하는 방식이다.</p>
</li>
<li><p>공변량 활용(Covariate-informed): 타겟 변수 외에 예측에 도움이 되는 외부 변수(예: 날씨, 공휴일)를 함께 고려한다.</p>
</li>
<li><p>다변량 예측(Multivariate): 여러 연관된 시계열(예: 여러 종목의 주가) 간의 상호 의존성을 동시에 모델링한다.</p>
</li>
<li><p>제로샷 예측(Zero-shot): 특정 데이터셋에 대해 별도의 학습(Training) 과정 없이, 이미 학습된 모델을 통해 즉각적으로 예측을 수행하는 방식이다</p>
</li>
</ul>
<h3 id="22-time-series-foundation-modeltsfm의-등장"><strong>2.2 Time Series Foundation Model(TSFM)의 등장</strong></h3>
<p><strong>시계열 파운데이션 모델은 크게 세 가지 방향으로 발전</strong></p>
<ol>
<li><p>LLM 기반 방식: 이미 강력한 성능이 증명된 거대 언어 모델(LLM)의 추론 능력을 시계열 예측에 그대로 이식하려는 시도이다.</p>
</li>
<li><p>Transformer 기반 방식: 시계열 데이터를 패치(Patch) 단위로 나누어 인코더-디코더 구조로 처리하는 PatchTST 등이 대표적이다.</p>
</li>
<li><p>Chronos-1의 접근: 시계열의 수치 데이터를 일정한 구간으로 나누어 토큰화(Quantization)하고, 이를 언어 모델처럼 학습시키는 혁신적인 방식을 제안했다.</p>
</li>
</ol>
<p><strong>기존 사전 학습 모델들은 여전히 다음과 같은 한계 존재</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/230186eb-9b2d-45b3-aeae-6470bebce766/image.png" alt=""></p>
<ol>
<li>단변량 편향: Lag-Llama, TimesFM, Chronos-1을 포함한 대다수 모델은 단변량 예측에 국한되어 있으며, 다변량 시나리오에서도 각 변수를 독립적으로 취급하여 변수 간 관계와 공변량을 무시한다.</li>
<li>확장성 및 기능 부족: Moirai-1은 다변량 입력을 지원하지만 내부적으로 데이터를 평면화(Flattening)하여 고차원 데이터 처리에 한계가 있고, Toto는 공변량 지원이 부족하다.</li>
<li>성능 정체: 결과적으로 많은 최신 접근법들이 실제 제로샷 환경에서는 단순한 단변량 모델 대비 유의미한 이점을 제공하지 못하고 있다.</li>
</ol>
<h4 id="chronos-2의-접근-group-attention"><strong>Chronos-2의 접근: Group Attention</strong></h4>
<p><strong>Chronos-2는 이러한 간극을 메우기 위해 Group Attention Mechanism을 도입했다. 이는 다변량 예측을 위한 교차 어텐션 구조와 여러 단변량 시계열 간의 교차 학습 개념을 일반화한 것이다. 해당 모델은 연관된 시계열 그룹 위에서 작동하며, 아키텍처 변경이나 작업별 적응 없이도 단변량, 다변량, 공변량 포함 작업을 하나의 통합된 프레임워크 내에서 자연스럽게 수용한다.</strong></p>
<h2 id="3-the-chronos-2-model">3. The Chronos-2 Model</h2>
<blockquote>
<p>Chronos-2의 핵심인 아키텍처와 데이터 처리 파이프라인(Scaling &amp; Tokenization)을 디테일하게 살펴보고자 한다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ff04735a-fb48-46f5-bb05-fc7cc9c6c545/image.png" alt=""> <strong>Figure 1. Chronos-2 Pipeline</strong></p>
<h3 id="31-scaling-and-tokenization">3.1 Scaling and Tokenization</h3>
<p>모델에 입력되기 전, 시계열 데이터는 수치 안정성을 확보하고 모델이 이해할 수 있는 벡터 형태로 변환</p>
<ul>
<li><p><strong>Input Construction</strong>: 타겟($Y$)과 공변량($X$)을 결합하여 하나의 시퀀스($V$)를 구성한다. 범주형 공변량은 Target Encoding 또는 Ordinal Encoding을 통해 수치화된다.</p>
</li>
<li><p><strong>Robust Scaling</strong>: 표준화(Standardization)를 거친 후, $sinh^{-1}$ 변환을 추가로 적용한다. 이는 로그 변환과 유사하게 분산을 안정시키고 Outlier의 영향을 줄이는 역할을 한다. $$\tilde{v}<em>{t,d} = \sinh^{-1} \left( \frac{v</em>{t,d} - \mu_d}{\sigma_d} \right)$$
<img src="https://velog.velcdn.com/images/jja_jja/post/4eeb9578-67a8-4c0b-944c-90555eed1efe/image.png" alt=""></p>
</li>
<li><p><strong>Meta Features</strong>: 각 시계열에는 Time Index와 Mask 정보가 추가된다. 시간 인덱스는 패치 기반 입력에서 시계열의 순서를 명시하며, 마스크는 결측치나 미래 공변량을 식별하는 데 사용된다.</p>
</li>
<li><p><strong>Patching &amp; Embedding:</strong> 긴 시계열을 $P$ 길이의 패치(Patch) 단위로 나누어 처리 효율을 높인다. 각 패치는 잔차 네트워크(Residual Network)를 통해 임베딩 공간으로 매핑된다.</p>
</li>
</ul>
<h3 id="32-architecture">3.2 Architecture</h3>
<p>Chronos-2는 <a href="https://arxiv.org/abs/1910.10683">T5</a> 인코더 설계를 따르며, 크게 두 가지 어텐션 레이어가 번갈아 나타나는 구조를 가진다.</p>
<ul>
<li><p><strong>Time Attention</strong>
  동일한 변수 내에서 시간축을 따라 패치 간의 정보를 집계한다. 
  기존 T5의 상대적 위치 임베딩 대신 최신 LLM에서 표준으로 쓰이는 <strong>RoPE(Rotary Position Embeddings)</strong>를 도입</p>
</li>
<li><p>*<em>Group Attention *</em></p>
</li>
<li><ul>
<li><p>Chronos-2의 &#39;인컨텍스트 학습(ICL)&#39;을 가능하게 하는 핵심 layer. 
Batch 내에서 서로 연관된 시계열들을 하나의 &#39;그룹&#39;으로 묶고, 이들 사이의 정보를 공유**</p>
<ul>
<li><p>단변량: 독립적인 예측 수행</p>
</li>
<li><p>다변량: 여러 변수 간의 동학(Dynamics) 공유</p>
</li>
<li><p>공변량 활용: 타겟과 외부 변수 간의 관계 학습</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>Quantile head
  모델의 최종 출력단으로, 21개의 분위수(Quantiles) $Q = {0.01, 0.05, 0.1, \dots, 0.9, 0.95, 0.99}$를 직접 예측한다. 
  이는 9개 분위수를 썼던 기존 모델보다 극단적인 사건(Rare events)에 대한 예측력을 높인다.</p>
</li>
</ul>
<h3 id="33-training-2-stage-training">3.3 Training (2 Stage Training)</h3>
<ul>
<li>Heterogeneous Tasks
학습 배치는 단변량 예측, 다변량 예측(과거 전용 공변량 포함), 알려진 미래 공변량이 포함된 다변량 예측 등 다양한 시나리오로 구성된다. 각 태스크는 타겟 차원($D$), 공변량 차원($M$), 그리고 각 차원의 역할(타겟, 과거 전용, 미래 공유 등)에 의해 정의된다.</li>
</ul>
<blockquote>
<p>Quantile Regression Objectvie 목적함수
$$\mathcal{L} = \sum_{q \in Q} \left( q \cdot \max(z - \hat{z}_q, 0) + (1 - q) \cdot \max(\hat{z}_q - z, 0) \right)$$</p>
</blockquote>
<ul>
<li>$Q$: 예측하고자 하는 분위수의 집합 ($|Q|=21$)</li>
<li>$z$: 실제 정규화된 타겟 값</li>
<li>$\hat{z}_q$: 모델이 예측한 $q$ 분위수 값</li>
</ul>
<p>이 손실 함수는 타겟 차원에서만 계산되며, 알려진 공변량이나 결측치는 계산에서 제외된다. 이를 통해 모델은 단순 점 예측이 아닌 확률 분포 전체를 학습한다.</p>
<h4 id="2-stage-training">2 Stage Training</h4>
<p>1단계: 최대 컨텍스트 길이를 2,048로 설정하고 출력 패치 수를 적게 하여 기본 성능을 확보한다.</p>
<p>2단계: 컨텍스트 길이를 8,192로 확장하고 출력 패치 샘플링 수를 늘린다. 이를 통해 고빈도 데이터의 장기 계절성(Long-term seasonality)을 포착하고 휴리스틱 없이도 긴 미래를 예측할 수 있게 한다.</p>
<h3 id="34-inference">3.4 Inference</h3>
<blockquote>
<p>Chronos-2는 별도의 아키텍처 변경 없이 그룹 ID 지정만으로 다양한 작업을 수행한다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/dc66420a-7984-4f3e-a97f-635805ced965/image.png" alt=""></p>
<ul>
<li>역정규화 및 결과 복원 (De-normalization)
퀀타일 헤드에서 출력된 값($\hat{z}$)은 학습 시 적용했던 $sinh^-1$ 변환의 역함수인 $sinh$를 활용하여 원래의 수치 스케일($\hat{y}$)로 복원된다.$$\hat{y}<em>{t,d}^{q} = \mu_d + \sigma_d \cdot \sinh(\hat{z}</em>{t,d}^{q})$$</li>
</ul>
<ul>
<li>Grouping Strategy by task<ul>
<li>단변량 예측: 배치 내의 각 아이템에 고유한 그룹 ID를 할당하여 서로 독립적으로 예측하게 한다.</li>
<li>다변량 예측: 동일한 다변량 시계열에 속하는 변수들에 같은 그룹 ID를 부여하여 변수 간 동학(Dynamics) 정보를 공유하게 한다.</li>
<li>공변량 활용 예측: 타겟과 관련된 모든 공변량에 동일한 그룹 ID를 할당한다. 이때 미래 공변량 값은 입력 $W$에 직접 포함시키며, 모델이 공변량에 대해 내놓은 예측값은 무시하고 타겟 변수의 결과만 사용한다.</li>
</ul>
</li>
</ul>
<h2 id="4-training-data">4. Training Data</h2>
<blockquote>
<p>해당 부분에서는 모델의 범용 성능을 결정짓는 핵심 요소인 학습 데이터의 구성과 생성 전략을 다룬다. 특히 부족한 다변량 데이터를 어떻게 합성 데이터로 극복했는지가 핵심이다.</p>
</blockquote>
<p>최근 대규모 시계열 데이터셋이 확장되고 있으나, 여전히 대부분 단변량(Univariate) 데이터에 치중되어 있다는 한계가 있다.
Chronos-2는 이러한 한계를 극복하고 인컨텍스트 학습(ICL) 능력을 부여하기 위해 대규모 <strong>합성 데이터(Synthetic Data)</strong>를 적극적으로 활용했다.</p>
<h3 id="41-univariate-data---데이터-다양성-확보">4.1 Univariate Data - 데이터 다양성 확보</h3>
<ul>
<li><p>TSI(Trend, Seasonality, and Irregularity) </p>
<ul>
<li>추세(Trend), 계절성(Seasonality), 불규칙성(Irregularity) 성분을 무작위로 생성하고 조합하여 다양한 형태의 시계열을 만든다.</li>
</ul>
</li>
<li><p>TCM (Temporal Causal Model): 시간적 인과 모델에서 무작위 인과 그래프를 샘플링한 뒤, 자기회귀(Autoregression) 방식을 통해 시계열을 생성한다.</p>
</li>
</ul>
<h3 id="42-multivariate-data---multivariatizers-도입">4.2 Multivariate Data - Multivariatizers 도입</h3>
<p>다변량 및 공변량 관련 작업의 경우, Chronos-2는 전적으로 합성 데이터에 의존한다. 실제 고품질 다변량 데이터를 구하기 어렵기 때문에, 모델이 다양한 다변량 구조를 배울 수 있도록 <strong>멀티베리에이타이저(Multivariatizers)</strong>라는 개념을 도입했다.</p>
<ul>
<li>** Multivariatizers: 기본 단변량 생성기(AR, ETS, TSI, KernelSynth 등)에서 샘플링된 여러 시계열을 가져와, 이들 사이에 인위적인 의존성을 부여하여 다변량 동학(Dynamics)을 생성**</li>
</ul>
<ol>
<li><p>Cotemporaneous(동시성) Multivariatizers: 동일한 시점에서 여러 시계열에 선형 또는 비선형 변환을 적용한다. 이를 통해 변수 간의 즉각적인 상관관계(Instantaneous correlations)를 생성한다.</p>
</li>
<li><p>Sequential(순차적) Multivariatizers: 시간의 흐름에 따른 의존성을 유도한다. 이는 선행-지연 효과(Lead-lag effects)나 공적분(Cointegration)과 같은 복잡한 다변량 특성을 만들어낸다.</p>
</li>
</ol>
<p><strong>이렇게 생성된 데이터는 모든 변수를 예측해야 하는 다변량 태스크와, 일부 변수를 미리 알고 있는 정보로 설정하는 공변량 태스크 학습에 모두 사용된다.</strong></p>
<h2 id="5-experiments">5. Experiments</h2>
<blockquote>
<p>Chronos-1, TimesFM, MOIRAI 등 최신 시계열 파운데이션 모델들이 포함하여 성능 평가 진행</p>
</blockquote>
<h3 id="51-benchmark-results---fev-bench">5.1 Benchmark Results - Fev bench</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d6ab9526-bf14-45cc-b403-a76656a422fd/image.png" alt=""></p>
<ul>
<li><p>fev-bench는 단변량(Uni), 다변량(Multi), 공변량 포함(Cov) 태스크를 모두 아우르는 벤치마크다.</p>
</li>
<li><p>통합 성능: Chronos-2는 모든 카테고리에서 가장 낮은 오차율(Relative MASE/WQL)을 기록하며 1위를 차지했다.</p>
</li>
<li><p>공변량 태스크(Covariate-informed): 특히 외부 변수를 활용하는 작업에서 기존 모델 대비 성능 향상 폭이 가장 컸다. 이는 그룹 어텐션을 통한 타겟-공변량 간의 관계 학습이 매우 효과적임을 시사한다.</p>
</li>
<li><p>다변량 태스크(Multivariate): 다변량 구조를 명시적으로 모델링하지 못하는 단변량 전용 모델(TimesFM 등)보다 뛰어난 성능을 보였다.</p>
</li>
</ul>
<h3 id="52-benchmark-results---gift-eval">5.2 Benchmark Results - GIFT-Eval</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d674f641-00c8-4988-82be-b0b8ecce53c5/image.png" alt=""></p>
<ul>
<li><p>벤치마크 구성 및 특징</p>
<ul>
<li>GIFT-Eval은 55개의 데이터셋에서 파생된 97개의 태스크로 구성된 방대한 벤치마크</li>
<li>고빈도 데이터 (High-frequency): 데이터 포인트 사이의 간격이 좁은 고빈도 시계열을 중점적으로 다룬다.</li>
<li>장기 예측 (Long-horizon): 아주 먼 미래까지 예측해야 하는 고난도 작업이 포함되어 있다.</li>
<li>비교군: 기존에 이 분야에서 두각을 나타냈던 TiRex 및 TimesFM-2.5와 같은 최상위 모델들과 성능을 겨뤘다.</li>
</ul>
</li>
<li><p>zero shot 일반화: 모델이 학습 시 보지 못한 데이터셋으로 구성된 GIFT-Eval에서도 높은 성능 달성</p>
</li>
<li><p>(a): weighted quantile loss(WQL), (b): Mean Absolute Scaled Error(MASE) metric 사용</p>
<ul>
<li>WQL (Weighted Quantile Loss): 확률적 예측(Probabilistic forecasting)의 정확도를 측정하는 지표</li>
<li>MASE (Mean Absolute Scaled Error): 점 예측(Point forecasting)의 성능을 나타내는 지표</li>
</ul>
</li>
</ul>
<h3 id="53-benchmark-results---chronos-benchmark-2">5.3 Benchmark Results - Chronos Benchmark 2</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/0148202e-e885-4ae9-897b-5fce466b2233/image.png" alt=""></p>
<ul>
<li><p>벤치마크 구성 및 특징</p>
<ul>
<li><p>데이터셋 규모: 총 27개의 다양한 시계열 태스크로 구성되어 있다.</p>
</li>
<li><p>데이터 특성: 대다수의 시계열이 평균 300단계 미만의 <strong>짧은 이력(Short histories)</strong>을 가지고 있다. 이는 모델이 매우 적은 정보만으로도 정확한 패턴을 찾아내야 함을 의미한다.</p>
</li>
<li><p>엄격한 제로샷 평가: Chronos-2의 학습 코퍼스에 이 데이터셋들은 전혀 포함되지 않았다. 즉, 모델이 한 번도 보지 못한 데이터에 대해 즉각적으로 수행한 순수 제로샷 성능이다.</p>
</li>
</ul>
</li>
</ul>
<h3 id="54-improvements-with-in-conetext-learning">5.4 Improvements with In-Conetext Learning</h3>
<p>ICL 능력을 확인하기 위해 <strong>fev-bench</strong>를 세 가지 서브셋(단변량, 다변량, 공변량)으로 나누어 실험 진행</p>
<h4 id="1-univariate-tasks">1) Univariate Tasks</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/5145f0ce-f9d2-473f-b055-4be50efab609/image.png" alt=""></p>
<ul>
<li>배치의 여러 시계열을 하나의 그룹으로 묶어 정보를 공유하는 <strong>교차 학습(Cross-learning)</strong>을 수행한다.</li>
</ul>
<h4 id="2-multivariate-tasks">2) Multivariate Tasks</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/0e2352b3-5872-4066-b49e-179ca0dd77d9/image.png" alt=""></p>
<ul>
<li><p>현상: Chronos-2를 단변량 모드로 돌려도 다변량을 지원하는 기존 모델(Toto-1.0 등)보다 뛰어난 성능을 보였다. (a) 그림</p>
</li>
<li><p>이유(Takens’s Embedding Theorem): 이론적으로 단일 변수의 지연된 관측값들만으로도 전체 시스템의 동학을 재구성할 수 있다. <strong>즉, 과거 데이터가 충분히 길다면 강력한 단변량 모델만으로도 다변량 모델만큼의 구조적 파악이 가능하다는 것이다.</strong></p>
</li>
</ul>
<h4 id="3-covariate-tasks">3) Covariate Tasks</h4>
<ul>
<li>가장 극적인 성능 향상은 공변량(외부 변수)이 포함된 작업에서 나타났다 (b) 그림.</li>
<li>Chronos-2가 타겟 데이터와 외부 변수(날씨, 가격 등) 사이의 복잡한 상관관계를 효과적으로 활용하고 있음을 증명한다.</li>
</ul>
<h3 id="55-domain-case-studies">5.5 Domain Case Studies</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b35d40ef-7276-4791-9c18-c0c00b411be4/image.png" alt=""></p>
<ul>
<li><p>에너지 가격 예측 (a) 그림</p>
<ul>
<li><p>단변량 모드: 과거 가격 데이터만 보았을 때는 변동 패턴을 정확히 짚어내지 못한다.</p>
</li>
<li><p><strong>ICL 모드: &#39;부하량(Load)&#39;과 &#39;태양광/풍력 발전량&#39; 데이터를 공변량으로 함께 고려, 가격의 급등락 패턴을 훨씬 정교하게 예측.</strong></p>
</li>
</ul>
</li>
<li><p>리테일 수요 예측 (b) 그림</p>
<ul>
<li>프로모션이나 휴일 정보를 공변량으로 입력했을 때,** ICL을 통한 예측 정확도가 타 모델 대비 월등히 높음.**</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a95bde92-e434-4858-a2f6-f5a093ab23f6/image.png" alt="">
<img src="https://velog.velcdn.com/images/jja_jja/post/7c20514e-a449-4882-a472-a9cf32f7576a/image.png" alt=""></p>
<h3 id="56-ablation-study">5.6 Ablation Study</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d4e84b41-6121-47f8-a6b2-fc6bf43948ff/image.png" alt=""></p>
<ul>
<li>Model Size <ul>
<li>Small 모델 28M 개의 파라미터 수의 모델을 가지고 학습시켜도 성능과 효율성이 좋았음.</li>
<li>특히 GIFT-Eval 벤치마크에서는 베이스 모델과 성능 차이가 단 1% 수준에 불과했다.</li>
</ul>
</li>
</ul>
<ul>
<li><p>Systhetic Data Only</p>
<ul>
<li><p>결과: 이 모델은 Chronos Benchmark II와 GIFT-Eval에서 실제 데이터를 포함한 버전과 비교해도 성능 차이가 근소했다. fev-bench에서는 성능 격차가 다소 발생했으나 여전히 준수한 결과를 보여주었다.</p>
</li>
<li><p>의의: 이는 사전 학습 모델에서 합성 데이터가 결정적인 역할을 함을 증명한다.</p>
</li>
</ul>
</li>
</ul>
<ul>
<li><p>Long-context Post-Training</p>
<ul>
<li><p>2,048단계의 컨텍스트로 먼저 학습한 후, 8,192단계로 확장하여 후속 학습(Post-training)을 진행한 효과를 분석</p>
</li>
<li><p>결과: 컨텍스트 길이를 8,192로 확장했을 때, 특히 GIFT-Eval 벤치마크에서 유의미한 성능 향상이 관찰되었다.</p>
</li>
<li><p>의의: 이는 GIFT-Eval에 포함된 <strong>고빈도 데이터(High-frequency datasets)</strong>들이 긴 계절적 주기를 가지고 있기 때문이다.</p>
</li>
</ul>
</li>
</ul>
<h2 id="6-discussion">6. Discussion</h2>
<blockquote>
<p>Chronos-2는 단순한 성능 향상을 넘어, 제로샷(Zero-shot) 환경에서 단변량, 다변량, 공변량 데이터를 하나의 통합된 프레임워크로 처리할 수 있음을 입증했다. 특히 <strong>그룹 어텐션(Group Attention)</strong>과 합성 데이터의 조합은 시계열 파운데이션 모델이 나아가야 할 새로운 이정표를 제시</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[Are Language Models Actually Useful for Time Series Forecasting? (NeurIPS 2024 SpotLight) 논문리뷰]]></title>
            <link>https://velog.io/@jja_jja/Are-Language-Models-Actually-Useful-for-Time-Series-Forecasting-NeurIPS-2024-SpotLight-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/Are-Language-Models-Actually-Useful-for-Time-Series-Forecasting-NeurIPS-2024-SpotLight-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Sat, 03 Jan 2026 07:31:27 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>현재 Tiem Series task 연구에서 LLM을 접목하고자 하는 연구들이 많이 쏟아지고 있음. (AAAI, NeurIPS, ICLR ..) 하지만, 해당 paper는 과연 Time Series Forecasting task에서 LLM이 정말 유용할까? 라는 근본적인 질문을 던지며, 현재 LLM을 접목한 Time Series 연구들에 대해서 반박하는 ablation study를 주장함. 이는 2024 NuerIPS에서 spotlight을 받았으며, forecasting task 안에서 LLM의 insight가 실질적으로 time series 예측에 영향을 주지 않는다는 것을 공개함.</p>
</blockquote>
<h2 id="0-abstract">0. Abstract</h2>
<ul>
<li>많은 연구에서 Time Series Forecasting 연구에 LLM을 활용하고 있지만, <strong>실제로 LLM component를 removing하거나 replacing 해도 예측 성능이 떨어지지 않는다. 심지어 특정 벤치마크 데이터셋에서는 성능 향상이 일어난다.</strong></li>
</ul>
<p>→ 이는 시계열의 sequential dependencies를 잘 representation 학습이 일어나지 않고, 또한 few shot에서도 큰 영향이 있지 않는다.</p>
<ul>
<li>또한 computational cost 측면에서도, scratch 보다 더 나은 점이 없다.</li>
</ul>
<p>💡즉, TS encoder의 성능이 매우 좋다는 것을 의미하며, patching과 attention 연산 구조의 모델이 LLM based와 성능 측면에서 거의 유사하다.</p>
<h2 id="1-introduction">1. Introduction</h2>
<h3 id="11-problem-define">1.1 problem define</h3>
<ul>
<li>LLM + Time Series 분야 연구들에서는 한 가지 가정이 존재하는데,<ul>
<li>LLM이 텍스트에서 sequential dependencies를 잘 하는데, 이는 Time Series data에서도 sequential dependencies를 잘 반영해서 일반화할 수 있다는 것이다.</li>
</ul>
</li>
<li>그런데 해당 가설은 불명확하다. LLM과 MTSF 사이에서의 connection에 대해서 정말 conventional한 TS encoder나 Attention 모듈이 LLM 보다 좋은지는 확인해볼 필요가 있다.</li>
<li>해당 연구에서 우리가 주장하는 것은 LLM이 가지고 있는 내재적인 Reasoning 들을 TS task에서 제대로 활용하는 연구들 downstream task들이 있을 수 있다. 실제 text를 함께 활용하는 연구들에서</li>
<li>그러나 8개의 벤치마크 데이터셋과 5개의 또 다른 시계열 데이터셋에 대해서 비교했을 때, conventional한 attention layer를 추가하는 것과 TS Encoder를 사용하는 것이 LLM block을 활용하는 것과 맞먹거나 오히려 더 좋다.</li>
<li>Ablation 진행을 위해서 2가지 정도 초점을 둠<ol>
<li>reproducing을 완벽하게 하는 것 (실제 paper에서 제시한 value까지 함께 표에 첨부)</li>
<li>LLM 모듈을 replacing 할 때, attention layer 시 랜덤 초기화를 하거나 아니면 아예 LLM 모듈을 빼버림<ol>
<li>이 과정에서 training과 inference 시간 3배까지 줄일 수 있었음 </li>
</ol>
</li>
</ol>
</li>
<li>새롭게 사용한 5가지 데이터셋에 대해서도 기존 8개의 오픈 벤치마크 데이터셋과 거의 유사한 양상을 보였다.</li>
<li>뿐만 아니라 few shot 환경에서도 10%의 training data를 활용했을 때, forecasting 측면에서 큰 도움이 되진 않았다.</li>
</ul>
<h3 id="12-key-contribution">1.2 key contribution</h3>
<ol>
<li>직관적인 Ablation 연구 제안 및 검증</li>
</ol>
<p>저자들은 LLM 기반 시계열 모델에서 LLM의 실제 효용성을 격리하여 측정할 수 있는 세 가지 비교 방법(w/o LLM, LLM2Attn, LLM2Trsf)을 제안</p>
<ol>
<li>pretraining 및 sequence 모델링 능력의 영향력 분석</li>
</ol>
<ul>
<li>무작위 초기화 실험을 통해 아무런 영향 없음 발견</li>
<li>data shuffling and few shot: transfer 이뤄지지 않음 발견</li>
</ul>
<ol>
<li>Patching과 Attention 구조는 여전히 강력하다.</li>
</ol>
<hr>
<h2 id="2-related-work">2. Related work</h2>
<ol>
<li><a href="https://arxiv.org/abs/2310.01728">Time-LLM</a></li>
<li><a href="https://arxiv.org/abs/2302.11939">OneFitAll(GPT4TS) - GPT 2</a></li>
<li><a href="https://arxiv.org/abs/2403.07300">CALF(CrossModal Alignment Forecasting)</a></li>
</ol>
<h2 id="3-experimental-setup">3. Experimental Setup</h2>
<blockquote>
<p>3가지 ablation study 진행 </p>
</blockquote>
<ol>
<li>w/o LLM</li>
<li>LLM2Attn</li>
<li>LLM2Trsf<blockquote>
</blockquote>
</li>
</ol>
<h3 id="reference-method-architecture">Reference Method (architecture)</h3>
<ol>
<li>OneFitALL(GPT4TS)</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/46d43227-7a76-4d36-8fb7-fad8271d23d2/image.png" alt=""></p>
<ol start="2">
<li>Time-LLM
<img src="https://velog.velcdn.com/images/jja_jja/post/612d964b-041c-4e50-8a41-bc120d37b506/image.png" alt=""></li>
</ol>
<ol start="3">
<li>CALF(CrossModal Alignment Forecasting)
<img src="https://velog.velcdn.com/images/jja_jja/post/5910b1ee-ae66-4891-9a52-7160e668870c/image.png" alt=""></li>
</ol>
<ul>
<li>전체 LLM ablation methods</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/68b80ab1-e7e0-43a9-94e8-ba7c1bd9958e/image.png" alt=""></p>
<p>(a) w/ LLM: 기존 LLM 기반 모델</p>
<p>(b) w/o LLM: LLM without 모델: 기존 LLM 기반 모델: 언어 모델(LLM) 성분을 완전히 제거합니다. 대신 인코딩 과정을 거친 입력 토큰들을 기존 참조 모델의 마지막 출력 층(final layer)으로 직접 전달합니다.</p>
<p>(c) LLM2Attn: LLM → 기본적인 Self-Attention 1개만 사용: 거대한 언어 모델을 무작위로 초기화된(학습되지 않은) 단일 멀티 헤드 어텐션(multi-head attention) 레이어로 교체합니다.</p>
<p>(d) LLM2Trsf: LLM 단순 트랜스포머로 교체: 언어 모델을 무작위로 초기화된 단일 트랜스포머 블록(transformer block)으로 교체합니다.</p>
<hr>
<ul>
<li>Datasets and Evaluation Metrics
<img src="https://velog.velcdn.com/images/jja_jja/post/3d0c5b1c-7303-43ef-a62f-14cd8f04ff91/image.png" alt=""></li>
</ul>
<ul>
<li><strong>Benchmark Datasets</strong><ul>
<li><strong>ETT (Electricity Transformer Temperature)</strong>: 전력 변압기 관련 7개 요인 데이터입니다. 시간 단위(ETTh1, ETTh2)와 15분 단위(ETTm1, ETTm2)의 4개 하위 집합으로 나뉩니다.</li>
<li><strong>Illness</strong>: CDC에서 기록한 주간 독감 의심 환자 비율 데이터입니다.</li>
<li><strong>Weather</strong>: 미국 1,600개 지역의 11개 기상 특징 데이터(2010~2013년)입니다.</li>
<li><strong>Traffic</strong>: 샌프란시스코 고속도로의 시간당 도로 점유율 데이터입니다.</li>
<li><strong>Electricity (ECL)</strong>: 321개 고객의 시간당 전력 소비량 데이터(2012~2014년)입니다.</li>
<li><strong>Exchange Rate</strong>: 8개국의 일일 환율 데이터(1990~2016년)입니다.</li>
<li><strong>Covid Deaths</strong>: 266개 국가/지역의 일일 코로나19 사망자 통계입니다.</li>
<li><strong>Taxi (30 min)</strong>: 뉴욕시 1,214개 지점의 30분 단위 택시 승차 데이터입니다.</li>
<li><strong>NN5 (Daily)</strong>: 영국 내 111개 ATM의 일일 현금 인출 데이터입니다.</li>
<li><strong>FRED-MD</strong>: 1959년부터 수집된 107개의 미국 월간 거시경제 지표입니다</li>
</ul>
</li>
<li><strong>Data split</strong><ul>
<li>ETT datasets: training 60% validation 20% test 20%</li>
<li>Illness, Weather, Electricity: training 70%, validation 10%, test 20%</li>
</ul>
</li>
<li><strong>Evaluation Metrics</strong><ul>
<li>MSE</li>
<li>MAE</li>
</ul>
</li>
</ul>
<h2 id="4-result">4. Result</h2>
<p>해당 부분에서 6가지 핵심 질문을 통해서 LLM의 종합적인 평가를 재고하고자 한다.</p>
<h3 id="41-rq1-사전-학습된-언어-모델이-예측-성능에-기여하는가-">4.1 RQ1: 사전 학습된 언어 모델이 예측 성능에 기여하는가 ?</h3>
<ul>
<li><strong>RA1 : No</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/0e859455-90ba-4d57-8153-10ce85ce6596/image.png" alt=""></li>
</ul>
<p>시계열 예측 모델에서 거대한 LLM을 걷어내도 성능은 비슷하거나 오히려 더 좋아진다.</p>
<p>LLM을 빼버리거나 단순한 구조(attention or transformer block)로 바꾼 게 더 좋다. 특히, Time-LLM 경우, 모든 실험 사례 26/26에서 LLM이 없는 모델이 최고점이 아님</p>
<p>→ 현재 유형처럼 번지는 LLM 기반 시계열 예측 방식이 실제 예측 정확도 면에서 실질적인 이득을 주지 못하고 있음.</p>
<h3 id="42-rq2-llm-기반-방법론들이-그만한-computational-cost를-할애할-가치가-있는가-">4.2 RQ2: LLM 기반 방법론들이 그만한 computational cost를 할애할 가치가 있는가 ?</h3>
<ul>
<li><p><strong>RA2: No</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/f1328e73-fcd9-4c9f-95ff-a06d6cc9102c/image.png" alt="">
<img src="https://velog.velcdn.com/images/jja_jja/post/515ae027-5f93-4f58-a66e-9901b3b0c5f5/image.png" alt=""></p>
</li>
<li><p>언어 모델의 파라미터가 frozen된 경우에도 training, inference 시 상당한 overhead 발생</p>
</li>
<li><p>Training part</p>
<ul>
<li>Time-LLM의 경우 66억 개 파라미터 보유 → weather 데이터셋 학습 시 3003분 소요, ablation 모델은 24만 개 파라미터만으로 평균 2분대 학습 가능</li>
</ul>
</li>
<li><p>Inference part</p>
<ul>
<li>추론 시간의 경우, 최대 배치 사이즈로 나누어 샘플당 추론 시간을 추정했습니다. <strong>Time-LLM, OneFitsAll, CALF</strong>는 수정된(어블레이션) 모델들보다 평균적으로 각각 <strong>28.2배, 2.3배, 1.2배</strong> 더 긴 시간이 소요</li>
</ul>
</li>
</ul>
<h3 id="43-rq3-언어-모델의-사전-학습pretraining이-시계열-예측-task의-성능-향상에-직접적인-도움이-되는가">4.3 RQ3: 언어 모델의 사전 학습(pretraining)이 시계열 예측 task의 성능 향상에 직접적인 도움이 되는가?</h3>
<ul>
<li><strong>RA3: LLM은 시계열에 대해서 아는 게 없다.</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/1a060d3d-3061-4df2-936f-a711e5be6264/image.png" alt=""></li>
</ul>
<ul>
<li>→ 시계열 연구자들이 흔히 하는 가설인, “LLM은 문장을 이해하는 능력이 뛰어나니 숫자의 흐름(sequence)도 잘 이해할 것이다.”를 반박함.</li>
<li>w/o Pre + FT &gt; w Pre + FT가 더 좋은 성능을 보임 (즉, random weight에서 시계열 데이터만 보고 새로 학습하는 것이 더 성능이 잘 나옴)</li>
<li>transfer learning 효과 x</li>
<li><strong>즉, 성능이 올라가는 이유는, LLM이 time series 형태를 잘 이해해서가 아니라, 시계열 데이터를 LLM input에 맞게 잘 preprocessing하고 나중에 학습시키는 finetuning 과정에서 성능이 올랐다.</strong></li>
</ul>
<h3 id="44-rq4-llm이-시계열-데이터의-sequential-dependencies라는-특징을-제대로-된-representation을-표현할-수-있는가">4.4 RQ4: LLM이 시계열 데이터의 Sequential Dependencies라는 특징을 제대로 된 representation을 표현할 수 있는가?</h3>
<ul>
<li>RA4: 순서를 섞어도 별 다른 차이가 없음을 증명
<img src="https://velog.velcdn.com/images/jja_jja/post/0be8fd31-2967-4d3d-b790-1c1d742bfd30/image.png" alt=""></li>
</ul>
<ul>
<li>논리: 시계열 예측은 sequence가 생명이다. → 어제-오늘-내일의 순서가 섞인 데이터를 보고도 내일을 맞춘다면, 그 모델은 사실 순서(시퀀스)를 보고 있는 것이 아닌 단순히 통계적 수치(분포)만 보고 있음을 의미</li>
<li>따라서 셔플링 진행<ul>
<li>셔플링 방식<ul>
<li>전체 시퀀스를 무작위로 섞는 방식 (sf-all)</li>
<li>시퀀스의 앞부분 절반만 섞는 방식 (sf-half)</li>
<li>시퀀스의 뒷부분 절반만 섞는 방식 (ex-half)</li>
</ul>
</li>
<li>일반적인 언어 모델 → 단어 순서가 섞이면 문장 이해 x</li>
<li>Time series LLM 모델은 순서를 엉망으로 섞었을 때 발생하는 성능 저하율이, LLM을 아예 안 쓴 단순한 모델들과 거의 똑같음</li>
</ul>
</li>
<li><strong>즉, LLM이 시계열 데이터를 처리할 때, 텍스트를 읽을 때처럼 정교하게 “시간의 흐름”을 파악하는 것이 아니라, 단순히 숫자들의 통계적 특성만을 파악하고 있을 가능성이 높음</strong></li>
</ul>
<h3 id="45-rq5-llm이-데이터가-부족한-few-shot-learning에-도움이-되는가">4.5 RQ5: LLM이 데이터가 부족한 few-shot learning에 도움이 되는가?</h3>
<ul>
<li><p>RA5: 유의미하게 유용하지 않음을 시사
<img src="https://velog.velcdn.com/images/jja_jja/post/63da0f8b-e2a5-46c4-b2fd-62355bedd0f7/image.png" alt=""></p>
</li>
<li><p>데터가 부족한 few shot 환경에서 pretrain된 가중치에 인코딩된 지식이 성능에 도움이 될 가능성이 존재했음</p>
</li>
<li><p>따라서 10% 데이터만 사용하여 모델과, ablation 모델들을 학습함.</p>
</li>
<li><p>결과 (LLaMA &amp; GPT-2)</p>
<ul>
<li>LLaMA (Time-LLM): 비싼 LLaMA를 쓰나, 그냥 다 떼버리고 직접 예측하나 승률이 8:8로 동일함 즉, 굳이 무거운 LLaMA를 쓸 필요가 없음</li>
<li>GPT2 (CALF): 오히려 LLM을 제외한 가벼운 모델이 14번 중 12번이나 이겼음. 데이터가 적을 때 무거운 LLM을 돌리는 것이 오히려 방해가 될 수도 있음을 시사</li>
</ul>
</li>
<li><p><strong>즉, 데이터가 부족할 때 LLM의 사전 지식이 도움이 될 것이라는 기대는 시계열 예측에서 근거가 부족</strong></p>
</li>
</ul>
<h3 id="46-rq6-현재-llm을-접목한-time-series-forecasting-연구에서-뽑아내는-성능은-실제로-어디서-오는-것일까-">4.6 RQ6: 현재 LLM을 접목한 Time Series Forecasting 연구에서 뽑아내는 성능은 실제로 어디서 오는 것일까 ?</h3>
<ul>
<li>LLM을 제거해도 성능이 유지된다는 것을 확인</li>
<li>이에 따라 “왜 단순한 방식이 잘 작동하는가?”를 파악하기위해 patching, decomposition 등 시계열 모델에서 흔히 쓰이는 인코딩 기법들 적용</li>
<li>Patching + Attention {Attn) 구조
<img src="https://velog.velcdn.com/images/jja_jja/post/14ee7fac-0fd2-4e72-9d90-a90a195f9ea3/image.png" alt=""></li>
</ul>
<ul>
<li>Instance Norm → Pathcing(Chaanel_Independence) → Linear Projection → One layer Attention → Final Projection</li>
<li>해당 구조<ul>
<li>소규모 데이터 (&lt;100만 row) 단순한 PAttn 구조가 효과적</li>
<li>대규모 데이터 (Traffic ..) CALF의 인코더를 활용하되 Cross Modal Attetnion 제거한 Linear Trsf 모델이 더 좋은 성능을 보임</li>
</ul>
</li>
</ul>
<p><strong>즉, LLM 기반 시계열 모델의 성능은 LLM의 언어적 지식이 아니라, &quot;데이터를 패치로 쪼개고(Patching) 어텐션으로 관계를 파악하는 구조&quot; 그 자체에서 나옴</strong></p>
<h2 id="5-appendix-part">5. Appendix part</h2>
<h3 id="51-limitaition">5.1 Limitaition</h3>
<ol>
<li>only time series forecasting 측면에서 진행<ol>
<li>LLM이 시계열과 어떻게 상호작용하는지 더 정확하게 파악하기 위해서는 classification이나 QA와 같은 다른 작업에서도 평가가 이뤄져야 함</li>
</ol>
</li>
<li>dataset 특성<ol>
<li>대부분의 벤치마크 데이터셋들은 모두 일정한 시간 간격을 가진 데이터들임.</li>
<li>따라서 real world 실생활 데이터들은 불규칙한 데이터가 많음</li>
</ol>
</li>
</ol>
<h3 id="52-broader-societal-impact">5.2 Broader Societal Impact</h3>
<ul>
<li>연구자들이 단순히 유행을 따라 모든 application에 LLM을 적용하는 것 대신에 실제로 LLM component가 왜 필요한지, LLM 성능과 연산 비용 간의 합리적인지 꼼꼼히 따져봐야 함</li>
<li>더 작고 단순한 모델이 성능이 좋다는 발견 → 실제 현장에서 저렴하게 배포할 수 있고 해석이 쉬운 확장 가능한 모델을 개발하는 데 기여 가능</li>
</ul>
<h3 id="53-additional-experimental-details">5.3 Additional Experimental Details</h3>
<p>LLaMA 7B → A100 GPU(80GB)</p>
<p>GPT 2 → RTX A6000 GPU(48GB)</p>
<p>→ LLM 제거한 베이스라인 모델들은 훨씬 작은 GPU에서도 학습 가능</p>
<ul>
<li>하이퍼파라미터: 기존 모델 복제 시에는 원본 설정을 그대로 썼고, 어블레이션 모델(단순화된 모델)은 파라미터가 적기 때문에 학습률이나 배치 크기를 일부 조정</li>
<li>PAttn<ul>
<li><strong>PAttn</strong>: 패칭과 1개 층의 어텐션을 결합한 모델입니다. 기존 PatchTST 모델에서 위치 임베딩과 피드 포워드 층을 제거하고 트랜스포머 인코더를 단순한 어텐션 구조로 바꾼 형태</li>
<li><strong>LTrsf</strong>: CALF 모델의 인코더에서 텍스트 정렬 기능을 뺀 모델로, 대규모 데이터셋에서 성능이 더 좋음</li>
<li><strong>비교 결과</strong>: <strong>PAttn</strong> 모델은 모든 LLM 기반 모델을 합친 것보다 더 자주 최고 혹은 차선의 성능을 기록했습니다(34회 vs 33회)</li>
</ul>
</li>
<li><strong>신뢰 구간 (Confidence Intervals)</strong>: 딥러닝 모델은 실행할 때마다 결과가 조금씩 다를 수 있으므로, 결과의 안정성을 확인하기 위해 신뢰 구간을 보고</li>
<li><strong>새로운 5개 데이터셋 검증</strong>: 기존 연구에서 다루지 않았던 환율, 코로나 사망자 등 5개의 새로운 데이터셋에서도 실험을 진행, 그 결과 역시 <strong>시계열 예측 작업에 언어 모델은 굳이 필요하지 않다</strong></li>
</ul>
<p><strong>즉,  부록은 본문의 주장이 단순히 몇몇 사례에 그치는 것이 아니라, 다양한 환경과 데이터셋에서도 일관되게 나타나는 현상임을 데이터로 증명하고, 연구자들이 더 효율적인 모델을 찾는 데 도움을 주고자 해당 paper 작성되었음.</strong></p>
<ul>
<li><p>Time-LLM ablation study (MSE)
<img src="https://velog.velcdn.com/images/jja_jja/post/5f3c2498-fce5-4595-b599-acb4f01d3e85/image.png" alt=""></p>
</li>
<li><p>CALF ablation study (MSE)
<img src="https://velog.velcdn.com/images/jja_jja/post/1f823df4-3dd4-46f7-9b56-94f11146951e/image.png" alt=""></p>
</li>
</ul>
<ul>
<li>OneFitsAll ablation study (MSE)
<img src="https://velog.velcdn.com/images/jja_jja/post/75cc839e-8553-4a9f-8f0a-6bb4ea6a7ef3/image.png" alt=""></li>
</ul>
<blockquote>
<ul>
<li>실제 제조 현장에서 이를 접목시키기 위해서는 downstream task에서 잔존 수명 예측을 진행한다고 했을 때, 특정 이벤트(로그)가 수치적 변화(센서)에 어떤 인과적 영향을 주었는가 그리고 LLM을 어떤 부분에 적용할 것인가. </li>
</ul>
</blockquote>
<ul>
<li>embedding 추출용인가 decoder 부분에서 예측에 직접적으로 활용할 것인가 혹은 현재 paper에서 제공하는 Patching + Attention(PAttn)을 활용할 것인가. </li>
<li>Time LLM을 reprogramming해서 변형해서 활용할 것인가 등에 대해서 고민하고 직접 실험해보며 진행할 필요가 있다. 데이터셋에 대한 요소들도 고민해볼 필요가 있다.</li>
</ul>
<blockquote>
<ol>
<li>Case Western Reserve University (CWRU) Bearing Data: 베어링 고장 데이터셋으로, 수치 데이터 외에 각 실험 단계에 대한 <strong>설명(Metadata/Text)</strong>이 상세히 기록</li>
<li>BPI Challenge (Process Mining) Datasets : 제조 공정의 <strong>이벤트 로그(Event Log)</strong>가 중심인 데이터셋</li>
</ol>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[TimeCMA: Towards LLM-Empowered Multivariate Time Series Forecasting via Cross-Modality Alignment (AAAI 2025) 논문리뷰]]></title>
            <link>https://velog.io/@jja_jja/TimeCMA-Towards-LLM-Empowered-Multivariate-Time-Series-Forecasting-via-Cross-Modality-Alignment-AAAI-2025-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/TimeCMA-Towards-LLM-Empowered-Multivariate-Time-Series-Forecasting-via-Cross-Modality-Alignment-AAAI-2025-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Tue, 23 Dec 2025 08:57:35 GMT</pubDate>
            <description><![CDATA[<h2 id="1-introduction">1. Introduction</h2>
<blockquote>
<p>다변수 시계열 예측(MTSF)의 성능을 높이기 위해, 시계열과 텍스트를 결합한 LLM 기반 프레임워크인 TimeCMA를 제안함.</p>
</blockquote>
<h3 id="problem-define">Problem Define</h3>
<ul>
<li><p>전통적 딥러닝 모델: 학습 파라미터 수의 한계로 인해 데이터가 부족한 상황(Low-data regime)에서 성능이 급격히 저하됨.</p>
</li>
<li><p>기존 LLM 기반 모델: 시계열을 자연어로 변환해 LLM에 입력하나, 시계열 고유의 정보와 텍스트 정보가 복잡하게 얽히는 Data Entanglement 발생.</p>
</li>
<li><p>노이즈 문제: 시계열 임베딩과 텍스트를 단순 결합(Concat)할 경우, 텍스트가 시계열 신호의 노이즈로 작용하여 예측 정확도를 떨어뜨림.</p>
</li>
</ul>
<blockquote>
<p>보통 LLM 기반 시계열 예측 모델은 시계열을 자연어로 만든 다음 그대로 LLM에 넣는 방식 사용 → 어디서 어떤 정보가 나왔는지 알 수가 없음. 의미(정보)가 섞여있음</p>
</blockquote>
<p>반면, <strong>TimeCMA</strong>의 경우 <strong>entangled 하지만 풍부한 자연어 데이터</strong> + <strong>disentangle 하지만 상대적으로 약한 시계열 임베딩</strong> 모두를 사용해서 성능 향상</p>
<h3 id="contribution">Contribution</h3>
<ol>
<li>Dual-Modality Encoding (이중 경로 인코딩)
두 가지 경로로 데이터를 인코딩하여 상호 보완적인 특징을 학습함.</li>
</ol>
<ul>
<li><p>시계열 브랜치 (TS Branch): 정제(Disentangled)된 형태이나 상대적으로 표현력이 약한 시계열 임베딩 생성.</p>
</li>
<li><p>LLM 브랜치 (Text Branch): 시계열을 자연어 프롬프트화하여 Robust하고 풍부하지만, 정보가 얽힌(Entangled) 임베딩 생성.</p>
</li>
</ul>
<ol start="2">
<li>Cross-Modality Alignment (교차 모달리티 정렬)</li>
</ol>
<ul>
<li><p>선택적 정보 추출: 두 임베딩 간의 유사도를 기반으로 LLM 임베딩 중 시계열 특징과 일치하는 핵심 정보만 필터링함.</p>
</li>
<li><p>노이즈 제거: 단순 결합 시 발생하는 텍스트 노이즈 문제를 해결하고 정보의 순도를 높임.</p>
</li>
</ul>
<ol start="3">
<li>효율성 및 추론 최적화 (Efficiency)</li>
</ol>
<ul>
<li><p>LLM의 고질적인 문제인 연산 비용과 속도를 해결하기 위해 두 가지 최적화 기법을 도입함.</p>
</li>
<li><p>Last-Token 집중 설계:</p>
<ul>
<li>텍스트 프롬프트의 마지막 토큰에 모든 핵심 시퀀스 정보가 응축되도록 유도함.</li>
<li>추론 시 LLM의 전체 토큰이 아닌 마지막 토큰 임베딩만 사용하여 연산량 급감.</li>
</ul>
</li>
<li><p>Inference 속도 개선:</p>
<ul>
<li>마지막 토큰 임베딩을 저장(Caching)하여 재사용하는 구조를 통해 실시간 예측 환경에서도 빠른 대응이 가능함.</li>
<li>결과적으로 LLM의 강력한 추론 능력을 유지하면서도 계산 비용을 대폭 낮춤.</li>
</ul>
</li>
</ul>
<h2 id="2-related-work">2. Related Work</h2>
<blockquote>
<p>Related Work는 생략하도록 한다.</p>
</blockquote>
<h2 id="3-methodology">3. Methodology</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/21a90a59-0dc4-402f-930d-105b7b5fb8aa/image.png" alt=""></p>
<h3 id="31-dual-modality-encoding">3.1 Dual-Modality Encoding</h3>
<p><strong>Time Series Encoding Branch</strong></p>
<ul>
<li>시계열 데이터를 전통적인 딥러닝 방식으로 처리하는 브랜치</li>
</ul>
<p><strong>(1) 입력 데이터 정의</strong></p>
<pre><code>X_T ∈ ℝ^(T × N)</code></pre><ul>
<li><code>T</code>: 시계열의 길이 (time steps)</li>
<li><code>N</code>: 변수 개수 (예: 온도, 습도, 인구수 등)</li>
</ul>
<p>즉, 각 열이 하나의 변수이고 각 행이 시간에 따른 값을 의미</p>
<p>** (2) Inverted Embedding ** 
<img src="https://velog.velcdn.com/images/jja_jja/post/7955c4c4-a728-4c2c-b768-733f3f248830/image.png" alt=""></p>
<ul>
<li><code>X_T</code>: 원래 시계열 데이터 (T × N)</li>
<li><code>W_e</code>: 학습 가능한 가중치 (C × T)</li>
<li><code>b_e</code>: bias (C × N)</li>
<li><code>H_T</code>: 최종 시계열 임베딩 (C × N) — 각 변수마다 하나의 벡터</li>
</ul>
<p>즉, 각 변수에 대해 <strong>하나의 벡터 표현(embedding)</strong>을 만들어냄.</p>
<ul>
<li><p><strong>&quot;변수가 곧 토큰이다&quot;</strong>
변수 단위 토큰화: 하나의 변수(Channel)가 가진 전체 시계열 데이터를 단일 <strong>&#39;토큰&#39;</strong>으로 정의함.</p>
</li>
<li><p>통념의 전환: 시점(Time-step)마다 벡터를 만드는 기존 방식과 달리, 변수별로 하나의 임베딩 벡터를 생성함.</p>
</li>
<li><p>기존 방식과 비교
<img src="https://velog.velcdn.com/images/jja_jja/post/e02122d9-d65e-4b54-9835-61c7b1ae695e/image.png" alt=""></p>
</li>
</ul>
<p><strong>(3) 시계열 정규화 (Reversible Instance Normalization)</strong></p>
<ul>
<li>시계열 변수들의 분포 차이(distribution shift)를 줄이기 위해 입력 <code>X_T</code>를 <strong>평균 0, 표준편차 1로 정규화</strong></li>
</ul>
<p><strong>(4) TSEncoder: Pre-LN Transformer 사용</strong></p>
<ul>
<li><p>H_T 벡터들을 Transformer로 처리하여 시계열 간 상호작용 학습</p>
</li>
<li><p>여기서 <strong>Pre-LN (Pre-LayerNorm)</strong> 구조 사용:</p>
<ul>
<li><p>원래 Transformer는 &quot;Attention → FFN → LayerNorm&quot;</p>
</li>
<li><p>Pre-LN은 &quot;<strong>먼저 LayerNorm</strong> → Attention/FFN&quot;</p>
<p>  → 학습 안정성 및 수렴 속도 향상됨
<img src="https://velog.velcdn.com/images/jja_jja/post/4752415e-e5c8-4ec9-9473-4054c13fc54e/image.png" alt=""></p>
</li>
</ul>
</li>
<li><p><code>H_T^i</code>: i번째 layer의 입력</p>
</li>
<li><p><code>He_T^i</code>: i번째 layer의 normalized output</p>
</li>
<li><p><code>μ</code>, <code>σ</code>: 평균과 표준편차</p>
</li>
<li><p><code>γ</code>, <code>β</code>: 학습 가능한 scaling/shift 파라미터</p>
</li>
</ul>
<p>→ 이 과정을 거치며 변수 간 표현을 학습하게 됨.</p>
<h3 id="32-llm-empowered-encoding-branch">3.2 LLM-Empowered Encoding Branch</h3>
<p><strong>(1) Pre-trained LLM: GPT-2</strong></p>
<ul>
<li>GPT-2는 <strong>텍스트 입력을 받아 고차원 임베딩으로 바꾸는 모델</strong></li>
<li>여기서 중요한 건:<ul>
<li><strong>GPT-2는 파라미터를 모두 동결 (frozen)</strong>: 학습하지 않음</li>
<li>단지, <strong>텍스트를 임베딩으로 바꾸는 역할만 수행</strong></li>
</ul>
</li>
</ul>
<p><strong>(2) Tokenizer 처리</strong></p>
<pre><code>PS ∈ ℝ^(S × N)  →  PG ∈ ℝ^(G × N)</code></pre><ul>
<li><code>PS</code>: 입력 프롬프트 텍스트 (ex. “The temp readings were 23.4, 24.1, 25.0”)</li>
<li><code>PG</code>: 토크나이저로 바꾼 GPT-2의 token ID</li>
</ul>
<p>각 시계열 변수마다 1개의 프롬프트 문장을 만듭니다 (즉, N개의 프롬프트 → 각각 G개의 token)</p>
<p><strong>(3) **GPT-2 인코딩 구조</strong></p>
<p>Transformer 디코더 구조를 따릅니다. 수식 정리해보면:</p>
<ol>
<li><strong>Position Encoding 추가</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/b5c5b1d0-fea5-4a67-984e-aa246a53a1af/image.png" alt=""></li>
<li><strong>GPT-2의 i번째 Layer 처리</strong><ul>
<li>(9) Multi-head masked self-attention (MMSA)</li>
<li>(10) Feed-forward network</li>
<li>(11) MMSA 내부 연산
<img src="https://velog.velcdn.com/images/jja_jja/post/0ba15109-7ea3-4052-9bcd-840a75242b20/image.png" alt="">
→ 여기서 ϕₒ, ϕ_q, ϕ_k, ϕ_v는 각각 Output / Query / Key / Value를 위한 선형변환</li>
</ul>
</li>
</ol>
<p><strong>(4) Last Token Embedding 저장</strong>
왜 GPT-2에서 나온 전체 토큰이 아니라 &quot;마지막 토큰&quot;만 쓰는가?</p>
<ul>
<li>GPT-2는 <strong>masked self-attention</strong> 구조라서 <strong>마지막 토큰은 앞선 모든 토큰의 정보를 집약한 요약본</strong> 역할</li>
</ul>
<p>→ 효율성 ↑, 성능 유지</p>
<pre><code>LN = {l₁, ..., l_N} ∈ ℝ^(N × E)</code></pre><ul>
<li><code>LN</code>: N개의 변수 각각에 대한 마지막 토큰 임베딩 (각 크기 E)</li>
</ul>
<p>이걸 저장해놓고 계속 재활용함 (GPT2 파라미터 업데이트 안하니까) → 학습 속도와 추론 속도 개선</p>
<p><strong>(5) **PromptEncoder 정의</strong></p>
<ul>
<li>GPT-2를 거쳐 나온 마지막 토큰 임베딩(LN)을 후처리해서, 시계열 임베딩과 결합 가능한 형태로 바꾸는 Transformer 인코더 역할</li>
</ul>
<h2 id="33-cross-modality-alignment">3.3 Cross-Modality Alignment</h2>
<p><strong>(1) Linear 변환 (공통 공간으로 투영)</strong></p>
<p>먼저 시계열 임베딩 <code>H_T</code>와 LLM 임베딩 <code>L_N</code>을 동일한 임베딩 공간으로 바꾸기 위해,</p>
<p><strong>3개의 선형 레이어</strong>를 사용</p>
<pre><code>ψ_q(H_T)   → Query
ψ_k(L_N)   → Key
ψ_v(L_N)   → Value</code></pre><p>이건 <strong>Self-Attention</strong>의 구조를 그대로 따름</p>
<p><strong>(2) Channel-wise 유사도 계산</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/38ca9359-37ba-4985-ab3e-69d08705b6b0/image.png" alt=""></p>
<ul>
<li><code>⊗</code>: 행렬 곱</li>
<li><code>M_T</code>: 유사도 매트릭스 (C × E)<ul>
<li>시계열 임베딩의 각 채널(C)이 LLM 임베딩의 각 차원(E)에 <strong>얼마나 주목할지</strong>를 나타냄</li>
</ul>
</li>
<li>softmax: attention 가중치 정규화</li>
</ul>
<p>→ <strong>각 시계열 채널이 어떤 LLM 표현 차원을 참고할지 선택</strong></p>
<p><strong>(3) 임베딩 정제 및 결합</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/fdfeea01-53f0-41c3-9e6e-e43abb4596bd/image.png" alt=""></p>
<ul>
<li><p><code>ψ_v(L_N) ⊗ M_T</code>: LLM 표현에서 주목할 부분만 추출 (attention-based aggregation)</p>
</li>
<li><p><code>ω_c</code>: 또 다른 선형 레이어로 변환</p>
</li>
<li><p><code>⊕ H_T</code>: 시계열 원본과 합쳐서 <strong>residual connection</strong></p>
<p>  → 원래 시계열 구조를 유지하면서 LLM 정보 덧입힘</p>
</li>
</ul>
<h2 id="34-time-series-forecasting">3.4 Time Series Forecasting</h2>
<p><strong>(1) 입력: Cross-Modality 임베딩</strong></p>
<ul>
<li>시계열 브랜치와 LLM 브랜치가 결합된 고차원 벡터를 입력으로 사용함.</li>
<li>각 변수(Variable)별로 길이 $c$를 가진 임베딩을 보유한 상태임.</li>
</ul>
<p><strong>(2) Layer Norm: 정규화</strong></p>
<ul>
<li>학습 과정에서 발생하는 내부 공변량 변화(Internal Covariate Shift)를 방지하고 학습의 안정성을 높임. 각 임베딩의 스케일을 일정하게 맞춰주어 모델이 특정 변수에 편향되지 않도록 함.</li>
</ul>
<p><strong>(3) Masked Multi-Head Self Attention (MMSA)</strong></p>
<ul>
<li>Inverted Embedding 구조를 취하고 있으므로, 시간축이 아닌 <strong>변수 간의 상관관계(Inter-variable correlation)</strong>를 집중적으로 학습함. Masking을 통해 예측 시점 이후의 정보 간섭을 차단하며 데이터의 인과 관계를 보존함.</li>
</ul>
<p><strong>(4) 두번째 LayerNorm + Cross Attention</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/a2390ea3-f479-4118-abcd-e7f00d8470ab/image.png" alt=""></p>
<ul>
<li>두 모달리티(시계열/텍스트) 간의 정보를 교차 참조하여, 시계열 예측에 가장 최적화된 특징을 다시 한번 정렬함.</li>
</ul>
<p><strong>(5) Projetion Layer → 예측 값 생성</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/09f54103-ffc5-464e-92a8-558c2ea5fa6c/image.png" alt=""></p>
<ul>
<li><code>W_p</code>: 선형 weight matrix</li>
<li><code>b_p</code>: bias</li>
<li>입력 <code>Ȟ_C ∈ ℝ^(C × N)</code> → 출력 <code>X̂_M ∈ ℝ^(M × N)</code></li>
</ul>
<blockquote>
<p>각 변수에 대해 <strong>미래 M타임스텝 예측값</strong> 생성됨</p>
</blockquote>
<p><strong>(6) Denormalization</strong></p>
<ul>
<li>모델 성능 향상을 위해 전처리 단계에서 정규화(Standardization 등)했던 데이터를 실제 물리적인 수치로 다시 되돌리는 과정임.</li>
</ul>
<p><strong>(7) Loss 계산 식</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/f25343ac-fdc6-4b88-b215-1aea2833eddf/image.png" alt="">
예측 손실 (Prediction Loss: MSE)
<img src="https://velog.velcdn.com/images/jja_jja/post/c6da98e0-6556-4ad8-8076-9e8096095947/image.png" alt=""></p>
<ul>
<li>정규화 손실 (Regularization Loss): 모델 파라미터의 L2 norm</li>
</ul>
<p>→ 람다로 두 loss의 비중 조절</p>
<h2 id="4-experiment">4. Experiment</h2>
<p><strong>(1) 성능 비교 실험</strong></p>
<ul>
<li>총 8개의 벤치마크 데이터셋, prompt 기반 LLM, 시계열 전용 LLM, Transformer 계열, 선형, CNN과 비교</li>
</ul>
<p>→ LLM base 모델이 딥러닝이나 linear한 전통적인 모델보다 성능이 나음</p>
<p>→ Inverted embedding is essential for capturing multivariate dependencies</p>
<ul>
<li><strong>Inverted embedding</strong>은 <strong>변수가 많은 데이터셋에서 더 강력</strong>한 성능을 발휘</li>
<li>결론: LLM + Prompt + Inverted 구조 조합이 매우 효과적
<img src="https://velog.velcdn.com/images/jja_jja/post/9e2ba118-13f8-48c8-9440-e4f6f00b468a/image.png" alt=""></li>
</ul>
<p><strong>(2) Ablation Studies of Model Design</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/2249a6e2-3aee-46b8-82f3-1e12c6fa1f93/image.png" alt=""></p>
<ul>
<li><strong>Cross-modality alignment</strong>는 단순한 concat보다 훨씬 효과적</li>
<li><strong>시계열 인코더와 LLM 브랜치가 모두 필요</strong></li>
<li>PromptEncoder는 있어도 좋지만, 성능 기여는 상대적으로 낮음</li>
</ul>
<p><strong>(3) Ablation Studies of Model Design</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/f934b004-3e82-4164-b934-306d4db6b0c7/image.png" alt=""></p>
<ul>
<li><p>실험 내용</p>
<p>  <strong>5가지 종류의 프롬프트</strong>를 실험 (Fig. 4a 참조)</p>
<ul>
<li>Prompt 1: capture time frequence</li>
<li>Prompt 2: indicate prediction steps</li>
<li>Prompt 3: summarize average value</li>
<li>Prompt 4: review historical time</li>
<li>Prompt 5: <strong>추세 요약 (trend abstraction)</strong></li>
</ul>
</li>
</ul>
<p><strong>MSE 기준 숫자가 마지막 토큰으로 끝나는 프롬프트가 성능이 좋음</strong></p>
<ul>
<li>Prompt 5 &gt; Prompt 3 &gt; Prompt 2 순</li>
<li>Prompt 5는 추세 요약이므로 <strong>가장 유익한 정보</strong> 포함</li>
<li>Prompt 3는 평균값 기반이라 불필요한 노이즈 포함 가능</li>
<li>Prompt 1, 2는 문장형태가 많아 성능 낮음</li>
</ul>
<p><strong>(4) Last Token Attention Analysis (GPT-2 마지막 토큰집중 분석)</strong></p>
<ul>
<li>방법:</li>
</ul>
<ol>
<li>프롬프트를 <strong>텍스트 영역 / 시계열 수치 영역</strong>으로 나눔</li>
<li>GPT-2 마지막 레이어에서 <strong>마지막 토큰 &lt;ΔT&gt;가 어디에 attention을 주는지</strong> 시각화</li>
</ol>
<ul>
<li><p>결과 (Fig. 5 참조):</p>
</li>
<li><p>GPT-2의 마지막 토큰은 <strong>텍스트보다 시계열 값에 더 집중</strong>함</p>
</li>
<li><p>→ 이는 &quot;프롬프트 안에 포함된 수치 정보&quot;가 실제로 LLM 임베딩 품질에 영향을 주는 걸 의미
<img src="https://velog.velcdn.com/images/jja_jja/post/7c7afe1e-d4f3-440c-9d85-8695ccd0b33e/image.png" alt=""></p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AutoTimes: Autoregressive Time Series Forecasters via Large Language Models (38th NeurIPS 2024) 논문 리뷰]]></title>
            <link>https://velog.io/@jja_jja/AutoTimes-Autoregressive-Time-Series-Forecasters-via-Large-Language-Models-38th-NeurIPS-2024-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/AutoTimes-Autoregressive-Time-Series-Forecasters-via-Large-Language-Models-38th-NeurIPS-2024-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Tue, 23 Dec 2025 07:46:18 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>AutoTimes: Autoregressive Time Series Forecasters via Large Language Models (38th NeurIPS 2024)
코드 링크: <a href="https://github.com/thuml/AutoTimes">https://github.com/thuml/AutoTimes</a></p>
</blockquote>
<blockquote>
<p>** 한줄 요약 **
LLM은 기본적으로 Autoregressive 구조이므로, 시계열 예측에 LLM을 적용하기 위해서는 이 또한 Autoregressive하게 진행해야 한다는 철학으로 설계된 모델.
기존 LLM4TS가 등한시한 “다음 토큰 예측 능력”을 다시 살려서, 시계열 forecasting에 활용한다 !</p>
</blockquote>
<blockquote>
<p>TimeCMA와 다른 요소들</p>
</blockquote>
<ol>
<li>LLM을 정말 예측에 활용할 수 있음</li>
<li>LLM을 다루는 요소들 직접적으로 실험 적용 가능 (in-context learning, LoRA finetuning ..)</li>
<li>TimeCMA보다 늦게 나온 논문이지만, 실험 표 기준으로 성능은 더 우세</li>
<li>LLM을 직접적으로 다뤄볼 수 있음 (LLama 등 ..)</li>
</ol>
<p><strong>현재 사용 중인 TimeCMA와 비교하여 또 다른 접근 방향성인 AutoTimes를 소개하고자 한다.</strong></p>
<h2 id="0-abstract">0. Abstract</h2>
<p>TimeCMA와 같은 LLM 기반 시계열 예측 연구들은, LLM을 encoder처럼 임베딩을 뽑기 위해 활용/사용하거나, 비-autoregressive 방식으로 처리함으로써 LLM의 본질적인 autoregressive, decoder-only 구조를 무시했다는 한계를 가진다.</p>
<p>이에 반해 해당 논문인 AutoTimes는 LLM의 원래 설계 철학인 <strong>&#39;Next Token Prediction&#39;</strong>과 <strong>Autoregressive Decoding</strong> 방식을 그대로 시계열 예측에 도입한다.</p>
<p>시계열 데이터를 segment 단위로 tokenize하고, 각 시점의 시간 정보를 자연어 문장으로 구성해 LLM의 input으로 사용, 마치 텍스트 생성하듯이 다음 시점 값을 순차적으로 예측한다.</p>
<p>추가적인 fine-tuning 없이도 강력한 성능을 보이며, LoRA PEFT 적용 시, 전체 파라미터의 0.1%만으로 SOTA 성능을 기록한다.</p>
<h2 id="1-introduction">1. Introduction</h2>
<h3 id="problem-define--motivation">Problem Define &amp; Motivation</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/61052732-8fdc-46fe-8a61-f411659770f0/image.png" alt=""></p>
<ul>
<li><strong>Lookback Series</strong>: 예측에 사용되는 과거 시계열</li>
<li><strong>Predicted Series</strong>: 앞으로 예측해야 할 미래 시계열</li>
<li><strong>Relevant Series</strong>: 맥락으로 사용될 수 있는 다른 변수들</li>
</ul>
<p>최근 LLM (대형 언어 모델)을 시계열 예측에 도입하는 시도들이 활발하지만, 다음과 3가지의 문제가 있음</p>
<ol>
<li><p>기존 연구들은 LLM을 <strong>non-autoregressive하게 사용</strong>함.</p>
</li>
<li><p>즉, LLM의 <strong>&quot;다음 토큰 예측(next token prediction)&quot;이라는 본질적인 구조를 무시</strong>하고, 시계열을 인코더처럼 flatten → project → 예측하는 방식으로 활용함.</p>
</li>
<li><p>또한 <strong>언어 프롬프트(language prompts)</strong>를 시계열 예측에 활용하려고 할 때 <strong>모달리티 불일치(modality disparity)</strong> 문제가 발생함</p>
</li>
</ol>
<blockquote>
<h4 id="figure-1-a-forecasting-approach">figure 1 (a) Forecasting Approach</h4>
</blockquote>
<ul>
<li>기존 방식 (Non-Autoregressive): 전체 시계열을 <strong>flatten → project</strong>해서 LLM에 넣고 한 번에 예측 (1,2,3 → 4,5)</li>
<li>AutoTimes (Autoregressive): <strong>LLM의 원래 방식대로</strong>, 토큰 하나씩 순차적으로 생성 (1,2,3 → 4), (1,2,3,4 → 5)</li>
</ul>
<blockquote>
<h4 id="figure-2-b-prompting-mechanism">figure 2 (b) Prompting Mechanism</h4>
</blockquote>
<ul>
<li>기존방식: 언어로 만든 설명(예: &quot;예측을 시작합니다&quot;) 같은 텍스트를 프롬프트로 사용 → <strong>모달리티 mismatch</strong> 발생</li>
<li>AutoTimes: <strong>시계열 데이터 자체를 프롬프트로 사용</strong> → &quot;in-context forecasting&quot; 가능</li>
</ul>
<p><strong>LLM은 시계열도 텍스트처럼 다룰 수 있다면, 굳이 언어 프롬프트를 쓰지 않아도 됨 → Self-prompting, in-context forecasting 가능</strong></p>
<p><strong>TimeCMA는 시계열과 LLM 표현을 정렬(alignment)하는 방식에 집중하지, 언어적 설명을 사용하지 않음.</strong></p>
<h2 id="2-related-work">2. Related work</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/216bc319-7a65-443f-96bf-5842d5a473d0/image.png" alt=""></p>
<h3 id="1-time-series-forecasting">1. <strong>Time Series Forecasting</strong></h3>
<blockquote>
<p>전통적인 시계열 예측 기법들</p>
</blockquote>
<ul>
<li><strong>키워드</strong>: Transformer, patch attention, frequency domain, decomposition</li>
<li><strong>핵심 내용</strong>:<ul>
<li>기존 시계열 모델들은 시계열의 패턴 구조 (시계성, 주기성 등)를 반영하기 위해 다양한 구조적 개선 시도</li>
<li>예: <strong>Autoformer, FEDformer, TimesNet, PatchTST</strong> 등</li>
</ul>
</li>
</ul>
<hr>
<h3 id="2-large-language-models-for-time-series-llm4ts">2. <strong>Large Language Models for Time Series (LLM4TS)</strong></h3>
<blockquote>
<p>LLM을 시계열에 적용한 최근 연구들</p>
</blockquote>
<ul>
<li><strong>키워드</strong>: Tokenization, in-context learning, LLM-as-encoder, non-autoregressive</li>
<li><strong>핵심 내용</strong>:<ul>
<li>시계열을 LLM에 맞게 token화하는 방식 연구됨</li>
<li>대부분 LLM을 encoder처럼 사용하며, autoregression을 버림</li>
<li>예: <strong>Time-LLM, UniTime, OFA, TimeGPT</strong></li>
</ul>
</li>
</ul>
<hr>
<h3 id="3-tokenization-for-llms">3. <strong>Tokenization for LLMs</strong></h3>
<blockquote>
<p>시계열을 언어 모델에 입력 가능한 형태로 바꾸는 방법</p>
</blockquote>
<ul>
<li><strong>키워드</strong>: Segment encoding, timestamp prompt, value-as-token</li>
<li><strong>핵심 내용</strong>:<ul>
<li>시계열을 토큰 시퀀스로 표현하기 위한 다양한 전략 연구</li>
<li>Segment 구조, 시간 표현, 정규화 방식 등 포함</li>
<li>예: Time2Vec, ValueToken</li>
</ul>
</li>
</ul>
<hr>
<h3 id="4-lora-and-lightweight-fine-tuning">4. <strong>LoRA and Lightweight Fine-tuning</strong></h3>
<blockquote>
<p>LLM을 효율적으로 fine-tune 하는 기법들</p>
</blockquote>
<ul>
<li><strong>키워드</strong>: LoRA, PEFT, adapter tuning, parameter-efficient</li>
<li><strong>핵심 내용</strong>:<ul>
<li>전체 LLM을 재학습하는 대신, 작은 부위만 훈련하는 경량 fine-tuning 기법</li>
<li>AutoTimes는 <strong>LoRA를 적용하여 파라미터 0.1% 수준으로 tuning</strong> 가능함</li>
</ul>
</li>
</ul>
<h2 id="3-methodology">3. Methodology</h2>
<blockquote>
<p><strong>LM을 autoregressive 시계열 예측기로 재활용하는 방식</strong></p>
</blockquote>
<p>AutoTimes는 기존 LLM이 갖고 있는 <strong>“다음 토큰 예측(next token prediction)”</strong> 능력을 그대로 시계열 예측에 적용
이를 위해 다음 세 가지 핵심 설계가 사용</p>
<ol>
<li><strong>시계열 데이터를 자연어처럼 token화 (Segment Embedding)</strong></li>
<li><strong>Timestamp를 문장으로 만들어 Positional Embedding으로 활용</strong></li>
<li><strong>LLM을 frozen 상태로 사용하며, autoregressive하게 next-token(시계열 값) 생성</strong></li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/af0056ff-b633-4426-a37b-07f88f75a5cb/image.png" alt=""></p>
<h3 id="model-perspective">Model Perspective</h3>
<ul>
<li><strong>LLM</strong>은 본래 <strong>언어 전이(Language Transitions)</strong>를 학습</li>
<li>AutoTimes는 이를 <strong>시간 전이(Time Series Transitions)</strong> 학습으로 재활용</li>
</ul>
<p><strong>언어의 흐름(the → quick → brown...)처럼 시계열 흐름(x₁ → x₂ → x₃...)도 자연어처럼 모델링 가능하다는 시각</strong></p>
<h3 id="token-perspective">Token Perspective</h3>
<ul>
<li>각 단어 token에 대응되듯, 각 시계열 segment도 token처럼 다룸</li>
<li>시간 흐름에 따른 시계열 값들이 <strong>LLM의 autoregressive decoding</strong>으로 생성됨</li>
</ul>
<p><strong>자연어 토큰과 시계열 token을 1:1 대응시키며 학습 → 결국 token-wise alignment를 통해 시계열 예측 가능</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/41a814ea-ab60-4228-8985-de5fad6c3031/image.png" alt=""></p>
<h3 id="step-1-time-series-segmentation">Step 1. Time Series Segmentation</h3>
<ul>
<li>연속된 시계열을 <strong>고정 길이 segment</strong>로 나눔 (<code>s₁, s₂, ..., s₇</code>)</li>
<li>이때 segment는 하나의 &quot;토큰&quot;처럼 간주됨</li>
<li>각 segment는 이후 LLM에 입력되는 <strong>입력 시퀀스의 구성 요소</strong></li>
</ul>
<h3 id="step-2-timestamp-to-position-embedding-te">Step 2. Timestamp to Position Embedding (TE)</h3>
<ul>
<li><p>각 시점(timestamp)을 <strong>자연어 문장</strong>으로 변환</p>
<p>  예: <code>&quot;This is the series from 2016/7/1 00:00:00 to 2016/7/1 23:00:00&quot;</code></p>
</li>
<li><p>이 문장은 LLM을 통해 임베딩되며 → <strong>position encoding 역할을 수행</strong></p>
</li>
</ul>
<p><strong>기존 LLM은 텍스트 위치(positional embedding)를 기반으로 학습함 → 시계열도 시간 정보를 자연어로 변환해서 LLM이 이해하게 함</strong></p>
<h3 id="step-3-segment-embedding-se">Step 3. Segment Embedding (SE)</h3>
<ul>
<li>각 segment는 작은 MLP 혹은 CNN 등을 통해 embedding (<code>SE₁, SE₂,...</code>)</li>
<li>이 임베딩은 TE(Position Embedding)와 합쳐짐 → <code>[TE + SE]</code></li>
</ul>
<p>→ 최종적으로 LLM 입력은 <code>[TE₁+SE₁], [TE₂+SE₂], ...</code> 순서로 구성</p>
<h3 id="step-4-language-model-forward-pass">Step 4. Language Model Forward Pass</h3>
<ul>
<li>이 <code>[TE+SE]</code> 시퀀스를 LLM에 입력함</li>
<li>LLM은 학습되어 있던 언어 흐름 방식으로 <strong>다음 segment embedding을 autoregressive하게 생성</strong></li>
</ul>
<p>❄️ <strong>LLM은 frozen</strong> (즉, 미세조정하지 않음)</p>
<h3 id="step-5-segment-projection--prediction">Step 5. Segment Projection &amp; Prediction</h3>
<ul>
<li><p>LLM이 출력한 hidden state를 다시 예측값으로 변환해야 함</p>
<p>  → 작은 projection head (MLP 등)를 통해 <code>ŝ₁, ŝ₂,...</code> 형태의 시계열 segment 예측</p>
</li>
<li><p>예측값과 정답값(<code>s₂’, s₃’, ...</code>)의 차이를 통해 MSE/MAE loss 계산</p>
</li>
</ul>
<h2 id="4-experiment">4. Experiment</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ed86e517-a5da-4b2d-ae95-64b2334e6ebd/image.png" alt=""></p>
<h3 id="zero-shot-forecasting"><strong><Zero-Shot Forecasting></strong></h3>
<ul>
<li>설명<ul>
<li>Forecasting 모델은 <strong>Source Domain</strong> 데이터에 대해 사전 학습됨.</li>
<li>Target domain에서는 lookback window만 제공 (<code>S₁~S₃</code>)</li>
<li>이 정보만으로 미래 시점 (<code>S₄&#39;~S₅&#39;</code>)을 <strong>바로 예측</strong></li>
</ul>
</li>
<li>한계점<ul>
<li>Target 도메인에 대한 적응 없이 예측 수행 → <strong>도메인 간 분포 차이 발생</strong></li>
<li>일반화 성능이 떨어질 수 있음</li>
</ul>
</li>
</ul>
<h3 id="in-context-forecasting"><strong><In-Context Forecasting></strong></h3>
<ul>
<li>설명<ul>
<li>Target Domain에서 사전 시계열 (<code>P₁~P₄</code>)을 <strong>Prompt처럼 추가</strong></li>
<li>즉, 모델 입력은 <code>[P₁, P₂, ..., P₄, S₁, S₂, S₃]</code> 처럼 구성됨</li>
<li>모델은 해당 컨텍스트 기반으로 미래 (<code>S₄&#39;~S₅&#39;</code>) 예측</li>
</ul>
</li>
<li>특징<ul>
<li><code>P₁~P₄</code>: target domain에서 과거에 관측된 시계열 (프롬프트 역할)</li>
<li><code>S₁~S₃</code>: 예측할 구간 이전의 lookback 시계열</li>
<li>LLM은 큰 context window를 사용해 전체 prompt + lookback을 입력으로 삼고 autoregressive하게 예측 수행</li>
</ul>
</li>
</ul>
<h3 id="성능-지표---smape"><strong>&lt; 성능 지표 - SMAPE&gt;</strong></h3>
<p><strong>SMAPE (Symmetric Mean Absolute Percentage Error)</strong> → 예측값이 실제값과 얼마나 가까운지 %</p>
<p>🔥 <strong>In-context forecasting은 모든 구간에서 Zero-shot보다 우수한 성능</strong> → 특히 Year, Others에서 큰 성능 차이</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/371563fd-1e3e-49f7-858e-471fd5768da6/image.png" alt=""></p>
<ul>
<li>같은 TimeLLM이어도 실험 환경이 달라서인지, 같은 datasets에서 다른 값이 나옴</li>
<li><strong>그럼에도 AutoTimes에서 더 좋은 성능 보임</strong></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/792bff15-8dd5-46e1-a20e-db136d822eb0/image.png" alt=""></p>
<blockquote>
<p>파라미터 수가 큰 모델일수록 성능을 좋아짐</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/4ce37816-59d5-4b88-84e9-63af5c593bd9/image.png" alt=""></p>
<blockquote>
<p>batch size 224로 ETTh1 데이터셋에 대한 training/inference time 비교 및 파라미터 튜닝 수에 대해서 비교했을 때, AutoTimes 모델이 가장 우위에 있다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/97ed05f0-2883-490e-aa6d-bff37f418f51/image.png" alt=""></p>
<blockquote>
<p>AutoTimes는 원래 LLM의 중간층을 고정(frozen)시킨 채로 학습하지만, 성능을 더 높이기 위해 &quot;LoRA&quot;를 추가 도입할 수 있으며, 이는 실제 성능 향상으로 이어진다.</p>
</blockquote>
<h2 id="5-conclusion">5. Conclusion</h2>
<ul>
<li><strong>result</strong><ul>
<li>SOTA 성능 달성</li>
<li>Zero-shot / In-context forecasting 가능</li>
<li>시계열 값 + 타임스탬프 모두 효과적으로 활용</li>
</ul>
</li>
<li><strong>future work</strong><ul>
<li>Low-Rank Adaptation (LoRA) 통합 강화</li>
<li>더 큰 LLM 백본과의 결합으로 확장성 향상 예정</li>
</ul>
</li>
</ul>
<ul>
<li><strong>Plot image</strong></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/584f6d66-0ce5-49f4-843c-aaf46cf122e9/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/d600ebd6-a1d6-441e-ac6a-0997e08c93cb/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2d3aaa90-e9b6-4504-b22b-e34e1f415742/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[FiLM: Visual Reasoning with a General Conditioning Layer (2017.12 CVPR)]]></title>
            <link>https://velog.io/@jja_jja/FiLM-Visual-Reasoning-with-a-General-Conditioning-Layer-2017.12-CVPR</link>
            <guid>https://velog.io/@jja_jja/FiLM-Visual-Reasoning-with-a-General-Conditioning-Layer-2017.12-CVPR</guid>
            <pubDate>Wed, 02 Jul 2025 06:43:53 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>citation이 2600회가 넘는 최근 computer vision 뿐만 아니라 다양한 generalization한 딥러닝 논문에서도 인용되기에 근간이 되는 paper로 보일 수 있으며,
현재 한국과학기술연구원 인턴과정 중 프로젝트에서 공휴일 tagging 부분에 대해서, 이 FiLM layer를 접목시켜 공휴일 정보를 더 잘 활용할 수 있도록 하기 위해 본 paper를 리뷰하며 FiLM layer의 원리를 파악하고자 한다.</p>
</blockquote>
<aside>
💡 핵심 정리

<p>FiLM은 Conditional Normalization (조건부 정규화, CN)의 개념을 일반화한 것</p>
<p>여기서 조건부 정규화는</p>
<p>FiLM(Feature-wise Linear Modulation) layer는 conditioning information 기반으로 신경망의 중간 피처에 feature-wise affine transformation을 적용하여 신경망의 계산에 영향</p>
</aside>

<h2 id="1-introduction">1. Introduction</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a1ba97b5-9fbe-4414-915f-ac4126295232/image.png" alt=""></p>
<ol>
<li><p>Visual Reasoning의 중요성 및 어려움</p>
<ol>
<li>VQA task에서 여러 단계를 거치는 복잡한 추론(CLEVR datasets)에서 어려움 존재.</li>
<li>종종 데이터셋의 specific한 biases만을 이용하는 경향 존재, 따라서 reasoning 뒤에 숨겨진 복잡한 underlying structure를 제대로 포착하지 못함.</li>
</ol>
</li>
<li><p>FiLM 제안</p>
<ol>
<li>일반적인 목적의 conditioning 방법 제안<ol>
<li>Question과 같은 입력된 conditioning 정보를 바탕으로 intermediate features에 대한 간단한 affine transformation을 거쳐서 (선형 변환) 신경망 계산에 영향을 준다.</li>
</ol>
</li>
</ol>
<p> <strong>→ 이미지 스타일 변환, 음성 인식 등 다양한 분야에서 성공을 거둔 Conditional Normalization의 일반화</strong></p>
</li>
</ol>
<hr>
<h2 id="2-method">2. Method</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/a3072be5-dad0-43f0-b689-749b154bfb73/image.png" alt=""></p>
<p>CNN 구조에서 단일 FiLM layer가 적용되는 과정을 설명한 그림</p>
<h3 id="2-1-notation"><strong>2-1 notation</strong></h3>
<ol>
<li><p>$F_{i,c}$: 신경망의 활성화 값 ($i$번째 입력 데이터의 $c$번째 feature map에 해당하는 값)</p>
</li>
<li><p>$\gamma_{i,c}$: FiLM layer에 의해 학습되는 scaling parameter  ($i$번째 입력 데이터의 $c$번째 feature map에 대한 스케일링 계수 역할)</p>
<p> <img src="https://velog.velcdn.com/images/jja_jja/post/b049e579-a0ca-4c22-8244-f79fa8d021ce/image.png" alt=""></p>
</li>
</ol>
<ol start="3">
<li>$\beta_{i,c}$: FiLM layer에 의해 학습되는 shifting or bias parameter (각 요소가 해당하는 피처 맵에 addition됨) 
<img src="https://velog.velcdn.com/images/jja_jja/post/93ffcc83-6fe5-4ebc-9463-a2f2440f0bf4/image.png" alt=""></li>
</ol>
<ol start="4">
<li><strong>feature-wise affine transformation</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/2afb52ca-ca42-4873-9e11-d2e3c63c17e3/image.png" alt=""></li>
</ol>
<p>  <strong>여기서 f, h 함수는 신경망과 같은 임의의 함수</strong></p>
<h3 id="2-2-film-generator--film-ed-network">2-2 FiLM Generator / FiLM-ed Network</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/756e0ca4-4085-4fc3-8e2c-9b51482a40ec/image.png" alt=""></p>
<ol>
<li><p><strong>FiLM Generator</strong></p>
<ul>
<li><p>Conditional Normalization (조건부 정규화, CN)</p>
<ul>
<li>조건부 정규화는 Batch Normalization 등과 같은 정규화 레이어에 특정 컨디셔닝 정보(예: 스타일 정보, 클래스 정보)를 활용하는 방식</li>
<li>일반적으로 정규화 레이어는 피처의 평균과 분산을 0과 1로 맞춘 뒤, 학습 가능한 스케일 $\gamma$과 시프트 $\beta$  파라미터를 적용하여 피처의 분포를 조절</li>
<li>따라서 조건부 정규화는 이 $\gamma$와 $\beta$ 파라미터를 고정된 값이 아닌, 컨디셔닝 정보의 함수로 학습시키는 방식</li>
</ul>
<p>$\gamma \ , \beta$를 출력하는 함수를 FILM Generator라고 칭함</p>
</li>
<li><p>이 두 파라미터는 GRU network를 포함한 언어 파이프라인을 통해 생성</p>
</li>
<li><p>여기서 GRU는 질문 전체의 의미를 함축하는 question embedding을 추출하는데, 이것이 바로 GRU의 최종 hidden state라고 언급.</p>
</li>
</ul>
</li>
</ol>
<pre><code>&lt;aside&gt;
💡
한 줄 정리

  1. FiLM Generator는 CN에서 매개변수를 만드는 부분과 같다

2. FiLM은 그 매개변수를 이용한 선형 변환을 중간 피처에 적용하는 방식

3. CN은 그 FiLM 변환의 한 형태(정규화된 피처에 적용)

&lt;/aside&gt;</code></pre><ol start="2">
<li><p><strong>FiLM-ed Network</strong></p>
<p> FiLM 레이어가 적용되는 신경망을 Feature-wise Linearly Modulated network, 즉 FiLM-ed network라고 함</p>
</li>
</ol>
<ul>
<li>FiLM 레이어는 FiLM Generator가 타겟 네트워크의 피처 맵을 스케일링(크게/작게), 음수로 만들기(negating), 비활성화(shutting off), 선택적 임계값 적용(ReLU 뒤에 올 경우) 등 다양한 방식으로 조작 가능</li>
<li>각 피처 맵은 독립적으로 조건화하여 FiLM Generator 활성화 값을 세밀하게 제어 가능</li>
<li>입력: 224x224 크기로 조정된 이미지.</li>
<li>초기 피처 추출
스크래치부터 학습된 CNN을 사용하거나,
ImageNet 데이터셋 (ImageNet Large Scale Visual Recognition Challenge)으로 사전 학습된 Deep Residual Learning for Image Recognition의 ResNet-101 conv4 레이어를 고정된 피처 추출기로 사용
→ 이를 통해 128개의 14x14 이미지 피처 맵을 추출</li>
<li>공간 정보 통합<ul>
<li>이미지 피처에 상대적인 x, y 공간 위치(스케일 범위 -1~1)를 나타내는 두 개의 좌표 피처 맵 concatenate.<ul>
<li>이는 각 ResBlock 입력 및 최종 분류기의 입력에도 사용되어 공간 추론 도움</li>
</ul>
</li>
</ul>
</li>
<li>주요 처리<ul>
<li>여러 개의 (모델에서 4개 사용) FiLM이 적용된 Residual Blocks (ResBlocks)로 이미지 피처 처리</li>
<li>각 FiLM이 적용된 ResBlock은 1x1 Convolution으로 시작하여 3x3 Convolution으로 이어지는 아키텍처를 가짐</li>
<li><strong>중요: FiLM 레이어 바로 앞에 오는 Batch Normalization 레이어의 파라미터는 끔</strong><ul>
<li>FiLM 레이어의 역할과 중복되는 부분을 피하고, 질문 정보를 통한 조절(modulation) 역할을 FiLM 레이어가 명확하게 수행하도록 하기 위함</li>
</ul>
</li>
</ul>
</li>
<li>최종 분류기<ul>
<li>1x1 Convolution을 통해 512개의 피처 맵으로 듬</li>
<li>글로벌 맥스 풀링(global max-pooling)을 수행</li>
<li>1024개의 히든 유닛을 가진 두 레이어 MLP(Multi-Layer Perceptron)를 사용</li>
<li>최종 답변에 대한 Softmax 분포를 출력</li>
</ul>
</li>
</ul>
<hr>
<h2 id="3-related-work">3. related work</h2>
<blockquote>
<p>Conditional Normalization에 대한 related works 존재 
자세한 내용은 생략</p>
</blockquote>
<h2 id="4-experiments">4. Experiments</h2>
<h3 id="4-1-results">4-1 results</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/009d33c6-261b-45a4-b7f2-b2df92d4f097/image.png" alt=""></p>
<ul>
<li>컬럼 설명<ul>
<li>Model: 사용된 모델의 이름</li>
<li>Overall: 전체 질문에 대한 정답률</li>
<li>Count: 이미지 속 객체의 수를 세는 질문에 대한 정답률</li>
<li>Exist: 특정 속성을 가진 객체가 존재하는지 묻는 질문에 대한 정답률</li>
<li>Compare Numbers: 두 그룹의 객체 수를 비교하는 질문에 대한 정답률</li>
<li>Query Attribute: 특정 객체의 속성(색상, 모양 등)을 묻는 질문에 대한 정답률</li>
<li>Compare Attribute: 두 객체의 속성을 비교하는 질문에 대한 정답률</li>
</ul>
</li>
<li>결론<ul>
<li>CLEVR 데이터셋과 같이 구조화되고 다단계적인 추론이 필요한 작업에서 매우 효과적이며, 이전의 명시적으로 추론을 모델링하거나 추가 감독 신호를 사용한 모델보다 우수한 성능</li>
</ul>
</li>
</ul>
<h3 id="4-2-what-do-film-layers-learn">4-2 What Do FiLM Layers Learn?</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/3cb71f76-dedc-4a9b-9f85-d48398c42521/image.png" alt=""></p>
<ul>
<li>활성화 시각화 (Activation Visualizations)<ul>
<li>FiLM은 질문과 관련된 객체나 영역에 해당하는 특징 맵(feature map)의 활성화를 집중시키는 방식으로 작동</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/768c086b-27c4-4f16-b5cb-fe42d2346bfa/image.png" alt=""></p>
<ul>
<li>$\gamma$<ul>
<li>scale : -15~19까지 넓은 값</li>
<li>0값에서 빈도수 가장 많음<ul>
<li>이는 FiLM이 질문 정보에 기반하여 특정 피처 맵 전체를 끄거나(shut off) 상당히 억제(suppress)하도록 학습한다는 것을 의미</li>
</ul>
</li>
<li>음수값 36% 존재 이는 ReLU 함수 통과시, $\gamma_{i,c}F_{i,c}$의 부호가 바뀜 / 따라서, $\gamma$값이 양수일 때와 비교했을 때, 값 자체가 현저히 달라질 수 있음</li>
</ul>
</li>
<li>$\beta$<ul>
<li>scale: -9~16까지 넓은 값</li>
<li>음수값 76% 존재, $\beta$는 활성화 값에 더해지는 shift 값이므로, $\beta$가 음수이고 γ가 작거나 0에 가까울 때 활성화 값이 0 이하가 되어 ReLU를 통과하지 못하게 만들 수 있음.<ul>
<li>이는 $\beta$ 역시 어떤 활성화를 ReLU를 통과시킬지 선택하는 데 기여</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="4-3-ablations">4-3 Ablations</h3>
<blockquote>
<p>figure 대체
자세한 내용은 생략</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/8c4d6a9f-7403-4ae6-8cfa-8d82aeec64f0/image.png" alt=""></p>
<ul>
<li>$\gamma$와 $\beta$에 가우시안 노이즈를 추가했을 때 CLEVR 데이터셋에서의 정확도 변화를 보여주는 그래프</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/345be085-3515-4755-af3d-06aa5d55d9fa/image.png" alt=""></p>
<ul>
<li>ResBlock 1-4에서 FiLM layer를 제거했을 때 Overall 성능이 현저히 낮아지는 것을 확인할 수 있음</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/56b3c078-6606-40a2-b17b-e9b1e2dd01c9/image.png" alt=""></p>
<hr>
<h2 id="5-conclusion">5. Conclusion</h2>
<ol>
<li>FiLM의 핵심 역할<ul>
<li>FiLM은 뉴럴 네트워크의 중간 특징(feature)을 효율적이고 의미있게 조작하여, 질문에 대한 시각적 추론 능력을 크게 향상</li>
</ul>
</li>
<li>언어와 이미지의 상호작용 강화<ul>
<li>RNN이 질문을 처리하여 FiLM 레이어를 통해 CNN의 이미지 처리 방식을 조절함으로써, 모델이 이미지에 대한 다양하고 다단계적인 추론 작업을 가능하게 함.</li>
</ul>
</li>
<li>강력한 일반화 능력<ul>
<li>FiLM 모델은 아키텍처 변경, 테스트 시점 제거(ablation), FiLM 레이어 자체에 대한 제약 등에도 강건하며, 익숙하지 않거나 더 어려운 데이터에 대해서도 더 잘 일반화하고, 적은 샘플로도 학습하며, 심지어 zero-shot 일반화 능력 보임</li>
</ul>
</li>
<li>Normalization과의 관계 재정의 <ul>
<li>FiLM의 성공이 이전에 가정되었던 것처럼 normalization과 밀접하게 연결되어 있지 않다는 증거를 제시</li>
<li>이는 RNN이나 강화 학습과 같이 normalization이 덜 일반적인 다른 설정에도 FiLM을 적용할 수 있는 가능성을 열어줌</li>
</ul>
</li>
<li>다양한 분야로의 확장성<ul>
<li>시각적 추론 사례를 통해 FiLM의 강점을 입증하며, 이는 FiLM과 유사한 기술들이 다양한 도메인에서 성공을 거두고 있음을 보여주는 광범위한 연구</li>
<li>FiLM이 특정 도메인에만 국한되지 않는 다재다능한 접근 방식임을 강조</li>
</ul>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[CARD: Channel Aligned Robust Blend Transformer for Time Series Forecasting (24.04 ICLR) Paper Review]]></title>
            <link>https://velog.io/@jja_jja/CARD-Channel-Aligned-Robust-Blend-Transformer-for-Time-Series-Forecasting-24.04-ICLR-Paper-Review</link>
            <guid>https://velog.io/@jja_jja/CARD-Channel-Aligned-Robust-Blend-Transformer-for-Time-Series-Forecasting-24.04-ICLR-Paper-Review</guid>
            <pubDate>Tue, 15 Apr 2025 05:14:04 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>CARD(Channel Aligned Robust Blend Transformer)는 시계열 예측을 위한 특별한 transformer 모델 <br>
CI (Channel-Independent) 방식 Transforemer의 주요 단점 해결하고자 설계 (new robust loss function 중요) <br>
Multi-Channel 즉, Multivariate Time series task에 적용시킨다면 매우 유용할 것으로 보여짐</p>
</blockquote>
<ul>
<li><p>관련 코드</p>
<p>  <a href="https://github.com/wxie9/CARD">https://github.com/wxie9/CARD</a></p>
</li>
<li><p>관련 논문</p>
<p>  <a href="https://openreview.net/forum?id=MJksrOhurE">CARD: Channel Aligned Robust Blend Transformer for Time Series...</a></p>
</li>
</ul>
<h2 id="0-background">0. Background</h2>
<h3 id="channel-independent-strategy">Channel-Independent Strategy</h3>
<ul>
<li>CI 전략, 시계열 예측에서 훈련의 안정성 높이기 위한 각 채널(변수)을 독립적으로 처리<ul>
<li>즉, 각 채널(feature)들을 개별적으로 예측</li>
</ul>
</li>
<li>장점<ul>
<li>train 단계에서, 모델의 robustness 향상<ul>
<li>특정 채널의 noise나 anomaly 다른 채널에 미치는 영향 줄임</li>
<li>overfitting risk 줄어듬</li>
</ul>
</li>
</ul>
</li>
<li>단점<ul>
<li>채널 간의 상관관계 아예 무시 (critical)</li>
<li>real time-series data에서는 변수들 사이에 서로 영향 주고받는 경우 多</li>
</ul>
</li>
</ul>
<aside>
💡
CARD 모델, 이런 CI 방식의 단점 중 상관관계를 아예 무시해버린다는 한계점을 극복하기 위해, 채널 간의 상관관계를 효과적으로 활용하는 새로운 손실함수와 방법론 제안

</aside>

<hr>
<h2 id="1-introduction">1. Introduction</h2>
<ul>
<li><p>Channel-Dependent (CD) 방식으로 다변량 시계열 예측에서 서로 다른 변수 간의 상호 의존성을 고려하여 예측 성능을 높이지만, 최근 연구에서 일반적으로 CI이 CD보다 성능이 더 좋다는 것을 입증함. (시계열 데이터 특성상, 변수 간의 의존성이 복잡하기에 노이즈가 많으므로, 오히려 CD 모델에서 overfitting 가능성이 매우 높음.)</p>
</li>
<li><p>CARD 모델은 채널 간의 의존성을 활용하면서, 과적합 문제를 줄이는 새로운 Transformer 모델</p>
<ol>
<li><p>Channel Aligned Attention map: 시간적 상관관계와 채널 간의 동적 의존성 모두 포착</p>
<ol>
<li>예측 변수(채널) 간의 상관관계 파악 (채널 간 attention)</li>
<li>각 토큰 내의 local information align (Hidden Dimension Attention)</li>
</ol>
</li>
<li><p>Token Blend Module: 다양한 resolution의 token 생성, Multi-Scale 지식을 효율적으로 활용</p>
<ol>
<li>Mutil-head Attention에서 동일한 위치의 토큰을 다른  head에 걸쳐 병합하는 대신, 동일한 head 내에서 인접한 토큰을 결합하여 새로운 토큰 생성</li>
</ol>
</li>
</ol>
</li>
</ul>
<pre><code>3. Robust Loss Function: 예측 불확실성 기반, 예측 중요도를 가중하여 과적합 문제 완화
    1. 과적합 측면에서 기존 query, key token에 Exponential Smoothing 적용시, 더 나은 성능을 보인, ETSformer 연구를 활용함
        1. 모든 차원에 대해 동일하게 유지되는 고정된 EMA 파라미터를 사용하는 것으로 충분히 훈련 과정을 안정화할 수 있음을 발견
        즉, 학습 가능한 파라미터를 포함하지 않는 EMA를 사용하여도 충분한 효과를 얻을 수 있다는 점을 제시하고 있음.</code></pre><h2 id="2-related-work">2. Related Work</h2>
<ul>
<li>Transformers for time-series forecast<ol>
<li>LogTrans</li>
<li>Informer</li>
<li>AutoFormer</li>
<li>FEDformer</li>
<li>Pyraformer</li>
<li>PatchTST</li>
<li>Crossformer</li>
</ol>
</li>
<li>RNN, MLP, CNN for time-series forecasting</li>
</ul>
<h2 id="3-model-architecture">3. Model Architecture</h2>
<ul>
<li>The architecture of CARD
 <img src="https://velog.velcdn.com/images/jja_jja/post/175b801b-174d-4639-9616-d6bc88b0a799/image.png" alt=""></li>
</ul>
<pre><code>1. Input

    time-series data

2. Tokenize

    시계열 데이터 작은 patch 단위로 나눠서 이를 토큰으로 처리

    이 때, 각 채널별로 독립적으로 처리

    여기서 토큰화된 데이터는 &quot;**패치된 토큰 텐서**&quot;라는 형태로 표현

    이 텐서는 여러 채널(Channels), 즉 여러 변수에 대한 시계열 정보 포함


    - 최종 input size 설명
        - 필요한 요소들
            1. 채널 수 (C)

            다변량 시계열 데이터의 변수 개수를 의미합니다. 각 변수는 독립적인 시계열 데이터를 나타냅니다 (예: 온도, 습도, 압력).

            1. 패치 길이 (P)

            각 토큰이 포함하는 시계열 데이터 포인트의 개수를 의미합니다. 예를 들어, 패치 길이가 16이면 각 토큰은 16개의 연속적인 데이터 포인트를 포함합니다.

            1. 스트라이드 (S)

            토큰을 생성할 때, 각 토큰이 이전 토큰에서 얼마나 이동하는지를 나타냅니다. 스트라이드가 작을수록 토큰 간에 겹치는 부분이 많아집니다.

            1. 입력 시퀀스 길이 (L)

            모델에 입력되는 전체 시계열 데이터의 길이를 의미합니다. 예를 들어, 96시간 동안의 데이터를 입력으로 사용한다면 입력 시퀀스 길이는 96이 됩니다.

            1. 히든 차원 (d)

            토큰이 dense MLP layer를 거쳐 최종적으로 갖게 되는 차원입니다.


3. Attention
    - 이미지

        ![](https://velog.velcdn.com/images/jja_jja/post/769f3507-b1b8-4e58-a625-0083b603cd77/image.png)



    3.1 Attention over Channel Dimension

    - 서로 다른 채널(변수) 간의 상관관계 파악
    - Process
        1. 데이터 준비
            - tokenize로 얻은 “패치된 토큰 텐서” (C,N,P)
                - C : 채널 수, N: 토큰 개수, P: 패치 길이
        2. Q, K, V 생성
        3. Dynamic Projection 기법 사용
            - MLP layer에서 head dimension을 줄여  “요약된” 토큰 정보 얻음
                - attention 연산의 computational cost 줄이기 위함
            - dynamic에 대한 추가 설명
                - 모든 정보를 동일하게 취급하여 단순히 차원을 축소하는 것이 아니라, 데이터의 특성에 따라 중요한 정보는 보존하고 불필요한 정보는 제거하는 방식으로 차원을 축소
                    - 차원 축소를 통해 attention 연산의 computational cost가 줄어든다고 봄
                - input data에 따라 동적으로 중요한 정보를 선택
                - 시계열 데이터의 각 시점(time step)마다 중요한 채널이 다를 수 있다는 점을 고려

            - DP block module에서의 작동원리

                ```python
                def dynamic_projection(self,src,mlp):
                    src_dp = mlp(src)
                    src_dp = F.softmax(src_dp,dim = -1)
                    src_dp = torch.einsum(’bnhef,bnhec -&gt; bnhcf’,src,src_dp)
                ```

                - K (Key)와 V (Value) 텐서 처리:
                DP Block은 어텐션 연산에 사용될 Key (K)와 Value (V) 텐서를 입력으로 받음

                - MLP 레이어 적용:
                DP Block 내의 MLP 레이어 $F_{pk}$ 및 $F_{pv}$는 Key와 Value 텐서의 head dimension을 줄이는 역할
                이때, MLP 레이어는 각 차원의 중요도를 학습하고, 중요한 정보는 보존하고 불필요한 정보는 제거
                - Softmax 정규화:
                MLP 레이어를 통과한 텐서에 소프트맥스 함수를 적용하여 각 차원의 가중치를 정규화, 이를 통해 각 차원의 중요도를 0과 1 사이의 값으로 표현
                - 요약된 토큰 생성:
                정규화된 가중치를 사용하여 Key와 Value 텐서를 가중합, 이를 통해 head dimension이 축소된 &quot;요약된&quot; 토큰을 생성
                - 어텐션 연산:
                요약된 토큰은 어텐션 연산에 사용되어 계산 복잡도를 줄이면서도 중요한 정보를 보존

        4. attention score 계산
        5. softmax 함수 적용
        6. Value와 같이 weighted sum 진행
        7. output - 새로운 tensor 형태 (C,N,P) 

    3.2 Attention over Token Dimension

    - 토큰 간의 temporal dependency 파악하고 이를 모델링에 활용
    - 시계열 데이터, 시간적 의존성 파악하는 것 매우 중요
    - Process
        1. 데이터 준비
            - 3.1 에서 진행한 채널 차원에서의 어텐션 최종 output을 input으로 사용
                - 이 tesnor (C, N, P)의 형태 가짐
        2. Q, K, V 생성
        3. Exponential Moving Average (EMA)
            - EMA를 Q와 K에 적용하여 각 query 토큰이 더 많은 key 토큰에 대해 더 높은 attention score 얻음

            $y_t = \alpha x_t \ + \ (1-\alpha)y_{t-1}$

            $\alpha$는 smoothing factor로 0~1 사이의 값, $\alpha$값이 클수록 최근 값에 더 큰 가중치 부여 

            → 현재 시점에서의 정보 뿐만 아니라 과거의 정보까지 포함 (즉, 더 넓은 시간 범위의 정보를 “기억”)

            → 이는 Q, K attention score 연산 시, 각 query 토큰은 더 많은 key 토큰들과 유사한 패턴 공유하게 됨.

            → 결국 두 토큰이 유사한 패턴을 가진다면, 더 높은 attention score를 가지게 됨.

            → 이는 각 query 토큰은 자신과 관련된 정보를 더 많이 활용할 수 있게 됨.

            → EMA는 최근 값에 더 큰 weight를 주기 때문에 과거의 이상치가 현재 attention score에 미치는 영향이 크지 않음.

            → 이는 anomaly에 robust한 예측 가능하게 함.

        4. attention score 계산
        5. softmax 함수 적용

            ![](https://velog.velcdn.com/images/jja_jja/post/13dcd082-fa77-4588-bb36-e9fb4f5aca42/image.png)


        6. Value와 weighted sum 진행
        7. outout - 토큰 차원에서의 어텐션 결과는 각 채널별로 시간적 의존성이 고려된 새로운 텐서가 됨

        ![](https://velog.velcdn.com/images/jja_jja/post/85c1dbb3-89e9-4810-b240-17fbdcf1f1a5/image.png)



    &lt;aside&gt;
    💡

    CARD 모델은 3.1 채널 차원에서의 어텐션 연산과 3.2 토큰 차원에서의 어텐션 연산 번갈아가면서 수행

    1. 채널 간의 inter-dependency와 temporal-dependency를 모두 고려해서 시계열 데이터의 복잡한 구조 학습
    2. information fusion 서로 다른 채널의 정보와 시간적 정보를 융합
    3. robustness
    &lt;/aside&gt;

    ![](https://velog.velcdn.com/images/jja_jja/post/fb507950-08d5-47a3-b301-1d302ffa17d4/image.png)


    - Standard Token Construction은 사실 new token 만드는 게 concat에 불과함.
    - 하지만 Token Blend Module은 output token에 대해서 tensor 형태도 rearrange해서 인접한 토큰들이 섞이도록 함.
    - 즉 Token Blend 작업은 텐서의 차원을 재배열하여 인접한 토큰들의 정보를 섞는 과정,이는 multi-scale 정보를 효과적으로 활용하기 위한 특별한 방식
    - 코드

        ```python
        def forward(self, src, *args,**kwargs):
            # construct Q,K,V
            B,nvars, H, C, = src.shape
            qkv = self.qkv(src).reshape(B,nvars, H, 3, self.n_heads, C // self.n_heads).permute(3,
                0, 1,4, 2, 5)
            q, k, v = qkv[0], qkv[1], qkv[2]

            if not self.over_channel:
                attn_score_along_token = torch.einsum(’bnhed,bnhfd-&gt;bnhef’, self.ema(q), self.ema(k
                ))/ self.head_dim ** -0.5
                attn_along_token = self.attn_dropout(F.softmax(attn_score_along_token, dim=-1) )
                output_along_token = torch.einsum(’bnhef,bnhfd-&gt;bnhed’, attn_along_token, v)

            else:
                # dynamic project V and K
                v_dp,k_dp = self.dynamic_projection(v,self.dp_v) , self.dynamic_projection(k,self.
                dp_k)
                attn_score_along_token = torch.einsum(’bnhed,bnhfd-&gt;bnhef’, self.ema(q), self.ema(
                    k_dp))/ self.head_dim ** -0.5
                attn_along_token = self.attn_dropout(F.softmax(attn_score_along_token, dim=-1) )
                output_along_token = torch.einsum(’bnhef,bnhfd-&gt;bnhed’, attn_along_token, v_dp)

        # attention over hidden dimensions
        attn_score_along_hidden = torch.einsum(’bnhae,bnhaf-&gt;bnhef’, q,k)/ q.shape[-2] ** -0.5
        attn_along_hidden = self.attn_dropout(F.softmax(attn_score_along_hidden, dim=-1) )
        output_along_hidden = torch.einsum(’bnhef,bnhaf-&gt;bnhae’, attn_along_hidden, v)

        # token blend
        output1 = rearrange(output_along_token.reshape(B*nvars,-1,self.head_dim),
                                                ’bn (hl1 hl2 hl3) d -&gt; bn hl2 (hl3 hl1) d’,
                                                hl1 = self.n_heads//self.merge_size, hl2 = output_along_token.shape[-2]
                                                ,hl3 = self.merge_size
                                                ).reshape(B*nvars,-1,self.head_dim*self.n_heads)
        output2 = rearrange(output_along_hidden.reshape(B*nvars,-1,self.head_dim),
                                                ’bn (hl1 hl2 hl3) d -&gt; bn hl2 (hl3 hl1) d’,
                                                hl1 = self.n_heads//self.merge_size, hl2 = output_along_token.shape[-2]
                                                ,hl3 = self.merge_size
                                                ).reshape(B*nvars,-1,self.head_dim*self.n_heads)

        # post_norm
        output1 = self.norm_post1(output1).reshape(B,nvars, -1, self.n_heads * self.head_dim)
        output2 = self.norm_post2(output2).reshape(B,nvars, -1, self.n_heads * self.head_dim)

        # add &amp; norm
        src2 = self.ff_1(output1)+self.ff_2(output2)
        src = src + src2
        src = src.reshape(B*nvars, -1, self.n_heads * self.head_dim)
        src = self.norm_attn(src)
        src = src.reshape(B,nvars, -1, self.n_heads * self.head_dim)
        return src
        ```</code></pre><h2 id="4-signal-decay-based-loss-function">4. Signal Decay-Based Loss Function</h2>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ce79531e-5e47-40eb-9965-93df45d09205/image.png" alt=""></p>
<ul>
<li><p>overall objective loss</p>
</li>
<li><p>기본적인 MSE 손실 활용 (l2 norm의 제곱) —&gt; 모든 예측 시점에 대한 오차를 동일하게 취급 . 하지만, 실제로는 먼 미래의 예측은 불확실성이 더 크기 때문에 이 점을 고려한 loss식 필요</p>
<p>  <img src="https://velog.velcdn.com/images/jja_jja/post/ee35764a-eeb7-482a-a5b3-0fae2689e8e8/image.png" alt=""></p>
</li>
</ul>
<pre><code>![](https://velog.velcdn.com/images/jja_jja/post/9fadab01-4928-4f5c-a4cc-1c4c80895f22/image.png)</code></pre><ol>
<li><p>초기 loss 함수 (Negative Log-likelihood estimation)</p>
<p> <img src="https://velog.velcdn.com/images/jja_jja/post/f7fd7e9c-f6aa-4ea7-a696-9892a699ff15/image.png" alt=""></p>
</li>
</ol>
<ol start="2">
<li>1번 식에 markov process 가정 및 분산 추정 적용 (1차 Markov Process 따른다고 가정) 이는 예측 시점이 멀어질수록 불확실성이 커진다는 것을 의미 $\sigma^2$은 noise의 분산 $I$는 identity matrix 활용</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9546944c-46a0-4b78-9740-c3fde03f21e1/image.png" alt=""></p>
<ol start="3">
<li>최종 loss function<ul>
<li>위 3번식에서 도출</li>
</ul>
</li>
</ol>
<h2 id="5-experiments">5. Experiments</h2>
<h3 id="51-long-term-forecasting">5.1 Long Term Forecasting</h3>
<p>기존 SOTA 모델 혹은 baseline 모델들 대비 특히 일부 데이터셋에서 높은 성능을 보임.</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/0323bef3-5008-4a50-b7b3-d707fc012ab1/image.png" alt=""></p>
<hr>
<h3 id="52-reconstruction-based-anomaly-detection">5.2 Reconstruction based Anomaly Detection</h3>
<p>특정 데이터셋에서는 TimesNet 혹은 PatchTST 모델이 높은 성능을 보였지만, 전체 평균 Avg에 대한 성능 결과는 CARD가 압도적이다.</p>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/6cc1b9eb-3f68-4506-8b0f-935de509b153/image.png" alt=""></p>
<h3 id="53-boosting-effect-of-singal-decay-based-loss-function">5.3 Boosting Effect of singal Decay-Based Loss Function</h3>
<p>Signal Decay-Based Loss Function의 효과</p>
<ol>
<li>MSE 감소 효과, 기존의 MSE 손실함수 대신 이 손실 함수를 사용 했을 때, Transformer, CNN, MLP에서 3~12% loss 감소</li>
<li>제안하는 손실 함수는 특히 주파수 영역 정보를 많이 활용하는 FEDformer와 Autoformer의 성능을 향상</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/5d159c84-e031-493e-bf2a-c6f7fda31897/image.png" alt=""></p>
<h3 id="54-influence-of-input-sequence-length">5.4 Influence of Input Sequence Length</h3>
<p>기존의 long term forecasting 트랜스포머 모델들은 긴 입력 시퀀스를 효과적으로 활용 x</p>
<p>input length가 길어짐에 따라 성능 저하되는 문제점 보임 </p>
<p>→ 하지만 CARD는 이런 단점 본질적인 문제 x / input sequence가 더 길고, 노이즈가 많은 과거 시퀀스 입에서도 robust한 성능 유지 설명</p>
<p><img src="blob:https://velog.io/e3fdb63c-53a5-4406-99b2-9ed0c4115627" alt="업로드중.."></p>
<h3 id="55-influence-of-token-blend-size">5.5 Influence of Token Blend Size</h3>
<p>일반적으로 token blend가 1에 가까울수록 즉, 표준 token blend일 경우 loss가 높게 나오는 경향 보임</p>
<p>→ 따라서 token blend size를 키울수록 성능 향상에 도움이 됨</p>
<p><img src="blob:https://velog.io/c7489b5d-2aa2-42ca-a599-1aa3e80e57a8" alt="업로드중.."></p>
<h2 id="6-conclusion">6. Conclusion</h2>
<ol>
<li><p>새로운 Transformer 모델 (CARD): 이 논문에서는 시계열 예측을 위한 새로운 Transformer 모델인 CARD를 소개</p>
</li>
<li><p>채널 의존적 (Channel-dependent) 모델: CARD는 채널 의존적인 모델로, 다양한 변수와 숨겨진 차원 (hidden dimensions) 간의 정보를 효과적으로 정렬</p>
</li>
<li><p>Attention 메커니즘 개선: CARD는 토큰과 채널 모두에 attention을 적용하여 기존 Transformer를 개선</p>
</li>
<li><p>Attention 메커니즘 설계: 새로운 attention 메커니즘 설계는 각 토큰 내의 로컬 정보를 탐색하여 시계열 예측에 더 효과적</p>
</li>
<li><p>토큰 블렌드 모듈 제안: 시계열 데이터에서 다중 스케일 정보 지식 (multi-scale information knowledge) 활용을 위한 토큰 블렌드 모듈을 제안</p>
</li>
<li><p>Robust 손실 함수 도입: 시계열 분석의 중요한 문제인 과적합 (overfitting) 문제를 완화하기 위해 robust 손실 함수를 도입</p>
</li>
<li><p>우수한 성능: 다양한 수치 벤치마크를 통해 제안된 모델이 최첨단 모델보다 성능이 우수함을 입증</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[Tel2Veh: Fusion of Telecom Data and Vehicle Flow to Predict
Camera-Free Traffic via a Spatio-Temporal Framework (24.05) CVPR]]></title>
            <link>https://velog.io/@jja_jja/Tel2Veh-Fusion-of-Telecom-Data-and-Vehicle-Flow-to-PredictCamera-Free-Traffic-via-a-Spatio-Temporal-Framework-24.05-CVPR</link>
            <guid>https://velog.io/@jja_jja/Tel2Veh-Fusion-of-Telecom-Data-and-Vehicle-Flow-to-PredictCamera-Free-Traffic-via-a-Spatio-Temporal-Framework-24.05-CVPR</guid>
            <pubDate>Tue, 08 Apr 2025 13:50:26 GMT</pubDate>
            <description><![CDATA[<h2 id="1-문제의식">1. 문제의식</h2>
<ul>
<li>차량 흐름 예측은 차량 관리에 중요한 부분</li>
<li>차량 센서 범위의 한계로 제약이 크지만, mobile network coverage를 활용<br>→ 도로에서 <strong>모바일 사용자들의 네트워크 활동(Cellular Traffic)을 차량 흐름의 대용으로</strong> 사용 가능<ul>
<li>여기서 문제점이, Cellular Traffic 정보가, 차량 흐름과 직접적으로 일치하지 않을 가능성 존재</li>
<li>Cellular Traffic 정보는, 차량 운전자 뿐만 아니라, 보행자의 데이터도 포함하기 때문<blockquote>
<p>Contribution
Cellular Traffic을 활용하여 카메라가 없는 지역(차량 흐름을 알기 어려운 지역)에서 차량 흐름을 예측하는 task 제안
Geographical Cellular Traffic(GCT) Flow와 Vehicle Flow으로 구성된 Tel2Veh 데이터셋 구축</p>
</blockquote>
</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/8447b692-3d83-4c21-9b07-3742f8b21875/image.png" alt="Overview task and dataset"><strong>(a) 카메라 장착 지역</strong></p>
<ul>
<li>과거 데이터: 수집된 과거 Cellular Traffic Flow와 Vehicle Flow 수집</li>
<li>Fusion Framework로 미래 시점의 Vehicle Flow 예측</li>
</ul>
<p><strong>(b) 카메라 미장착 지역</strong></p>
<ul>
<li>현재데이터: 수집된 현재의 Cellular Traffic Flow만 수집</li>
<li>Fusion Framework로 미래 시점의 Vehicle Flow 예측</li>
</ul>
<h2 id="2-데이터-형태">2. 데이터 형태</h2>
<blockquote>
<ol>
<li><strong>GCT(Geographical Cellular Traffic) Flow 데이터는 이동통신사로부터 제공받음</strong></li>
<li><strong>Vehicle Flow(차량 흐름) 데이터는 연구진이 직접 카메라를 설치하여 촬영한 영상에서 차량을 검출(detection)하고 계수(count)하는 방식으로 수집</strong></li>
</ol>
</blockquote>
<h3 id="21-gct-flow---csv">2.1 GCT Flow - csv</h3>
<p> <strong>특정 도로 구간에서, 정해진 시간 간격 동안 발생한 GCT의 총 횟수 (5분 간격)</strong></p>
<ol>
<li>차량 흐름 데이터 수집<ul>
<li>통신 회사에서 GCT 데이터 가져오기</li>
</ul>
</li>
</ol>
<p>International Mobile Station Equipment Identity (IMEI), latitude, longitude, and log time.</p>
<p>  → IMEI는 개인 식별자 데이터라 삭제</p>
<ul>
<li><p>이 논문에서는 49개의 구간 중 9개의 도로 구간을 선택하여 카메라 설치 후 진행</p>
<p>→ 이 때 road segment를 20m x 20m로 설정 (grid cell로 나눔)</p>
<ul>
<li>특정 시간대 GCT 양 많음 (출퇴근 시간, 점심시간 대 ..)
<img src="https://velog.velcdn.com/images/jja_jja/post/7173b953-6b7c-4240-943a-769d0028f1ac/image.png" alt=""> GCT 데이터 형태
<img src="https://velog.velcdn.com/images/jja_jja/post/5a4d5116-3d50-4b6c-8105-11276f667d65/image.png" alt=""> gct flow와 vehicle flow는 서로 유사한 형태를 띄지만 다른 점 존재</li>
</ul>
</li>
</ul>
<h3 id="22-vehicle-flow---csv">2.2 Vehicle Flow - csv</h3>
<p> 특정 도로 구간을 일정 시간 동안 통과하는 차량의 수 (5분 간격)</p>
<ul>
<li><p>차량 흐름 Detection</p>
<ul>
<li>BOT-SORT, YOLOv7 사용</li>
<li>BoT-SORT: Robust Associations Multi-Pedestrian Tracking는 다중 객체 추적(MOT)을 위한 알고리즘</li>
</ul>
<p>→  객체의 움직임과 외형 정보를 결합하여 객체를 정확하게 식별하고 추적
<img src="https://velog.velcdn.com/images/jja_jja/post/0f59940f-dff9-42c2-a5d0-f474c543cad2/image.png" alt="">vehicle flow 데이터 형태
<img src="https://velog.velcdn.com/images/jja_jja/post/d6afe377-01fe-4d83-be83-1699de4eb81f/image.png" alt=""> GCT Flow와 Vehicle Flow data 간의 피어슨 상관계수 값
화살표 표시된 부분에서 보시다시피, 데이터 수집 과정에서 오류 존재하는 부분 있음</p>
<h2 id="3-spatio-temporal-fusion-framework">3. Spatio-Temporal Fusion Framework</h2>
<h3 id="31-task-definition">3.1 Task Definition</h3>
</li>
</ul>
<ol>
<li>N개의 GCT (Geographical Cellular Traffic) 흐름과 M개의 차량 흐름을 과거 시간 간격 T_{in} 동안 수집</li>
<li>위 데이터를 바탕을 <strong>N개의 미래 차량 흐름 예측</strong> (49개 도로 구간에 대해서)
<img src="https://velog.velcdn.com/images/jja_jja/post/59cb7d12-fff9-4636-b19d-17a0a584c07d/image.png" alt="">Overview of the two-stage fusion framework<h3 id="32-stage-1-feature-extraction-1단계-특징-추출">3.2 Stage 1: Feature Extraction (1단계: 특징 추출)</h3>
</li>
</ol>
<ul>
<li><p>STGNN(Spatio - Temporal GNN) 활용</p>
</li>
<li><p>STGNN은 1D Convolution Network에서 K개의 커널을 사용하여 시공간적 입력 N개의 위치에서 D개의 관측값, 크기 N x D을 다중 채널 특징 맵(크기 K x N x D)으로 변환 각 맵은 서로 다른 시간 패턴을 포함할 수 있다</p>
</li>
<li><p><strong>output</strong></p>
<p>  <strong>: multi-channel feature maps</strong></p>
</li>
</ul>
<h3 id="33-stage-2-fusion-and-prediction">3.3 Stage 2: Fusion and Prediction</h3>
<ul>
<li>MGAT (Multi-Channel Graph Attention) Fusion 활용</li>
<li>우리의 input은 stage 1으로부터 나온 multi-channel feature maps이기 때문에 일반 GAT보다 MGAT가 효과적
<img src="https://velog.velcdn.com/images/jja_jja/post/0bf05a4f-e3fe-4312-b22a-d2820b209c42/image.png" alt=""> 예측하고자 하는 n번째의 GCT 통행 수
<img src="https://velog.velcdn.com/images/jja_jja/post/a5c01d17-cca1-4eb8-89b0-6e0863218abb/image.png" alt="">notation 설명 부분</li>
</ul>
<h3 id="34-loss-function">3.4 Loss Function</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/9b063c93-826a-4a02-94da-6e3e48be6aac/image.png" alt="">람다 : 학습 가능한 파라미터, 두 loss간의 균형 맞춤
<img src="https://velog.velcdn.com/images/jja_jja/post/7e373a3f-4906-4b6f-b82d-0db9d7f3511d/image.png" alt=""> Vehicle Flow에 대한 ground truth와 예측값의 MAE loss
<img src="https://velog.velcdn.com/images/jja_jja/post/22d15721-483e-4c8f-b34e-2b2b397facf1/image.png" alt=""> GCT Flow에 대한 ground truth와 예측값의 MAE loss</p>
<h2 id="4-experiment">4. Experiment</h2>
<h3 id="41-setting">4.1 Setting</h3>
<p>STGNN 계열의 모델들을 3가지 선정하여, 이 모델이 프레임워크에 통합되기 전 후를 비교하여 향상도를 나타낸다.</p>
<p>이를 통해 이 프레임워크의 효과를 입증함</p>
<h3 id="42-baselines">4.2 baselines</h3>
<ol>
<li><p>GWNET:  Graph WaveNet for Deep Spatial-Temporal Graph Modeling</p>
</li>
<li><p>ESG: Learning the Evolutionary and Multi-scale Graph Structure for Multivariate Time Series Forecasting</p>
</li>
<li><p>MFGM: TelTrans: Applying Multi-Type Telecom Data to Transportation Evaluation and Prediction via Multifaceted Graph Modeling
<img src="https://velog.velcdn.com/images/jja_jja/post/7612b9ac-7696-4a5b-bc43-b18d53d49b69/image.png" alt=""> w/o는 프레임워크 통합하기 전의 성능, w는 프레임워크 통합 이후의 성능을 나타내며, IR은 전후의 성능 비교를 나타낸 Improvement Ratio를 나타낸다.</p>
<p>전반적으로 10%가 넘는 성능을 보였으며, 현재 STGNN을 활용한 교통량 예측에서 우수한 성능을 보이는 MFGM 모델에서는 20% 가까이의 성능 향상을 보이는 우수한 프레임워크를 입증한다.
<img src="https://velog.velcdn.com/images/jja_jja/post/37d59a7a-7c63-48e5-a530-50aa8992c081/image.png" alt=""> 9월 26일 도로 ID 37에 대한 15분 간격의 예측 결과</p>
</li>
</ol>
<h2 id="5-conclusion">5. Conclusion</h2>
<p>이로써, 교통량 예측 task에서 Tel2Veh라는 데이터셋과 함께 활용 프레임워크를 제공하며, 시계열 예측으로 많이 사용되는 STGNN의 계열의 모델들의 성능 향상에 기여했다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Temporal Data Meets LLM - Explainable Financial Time Series Forecasting (2023. 06) 리뷰]]></title>
            <link>https://velog.io/@jja_jja/Temporal-Data-Meets-LLM-Explainable-Financial-Time-Series-Forecasting-2023.-06-%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/Temporal-Data-Meets-LLM-Explainable-Financial-Time-Series-Forecasting-2023.-06-%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Sat, 21 Dec 2024 14:23:44 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p><strong>paper</strong>
<a href="https://arxiv.org/abs/2306.11025">https://arxiv.org/abs/2306.11025</a></p>
</blockquote>
<blockquote>
<p><strong>목차</strong>
0.  Abstract</p>
</blockquote>
<ol>
<li>Introduction</li>
<li>Related Works</li>
<li>Methodology</li>
<li>Experiments</li>
<li>Conclusion<blockquote>
</blockquote>
</li>
</ol>
<aside>

<h2 id="paper-overview">Paper Overview</h2>
<ol>
<li>LLM의 뛰어난 지식과 추론 능력을 활용하여 설명가능한 금융 시계열 예측을 다룬 새로운 연구 제안</li>
<li>Finance domain에 대한 LLM의 Potential을 탐구하려고 시도</li>
<li>Stock price data, Company profile data, Finance/Economy news data 등 Stock price forecasting에 영향을 줄 수 있는 다양한 modality의 Data를 통합하여 사용</li>
<li>GPT-4를 통한 Zero-shot 만으로도 다른 Statistical, ML 모델들보다 더 뛰어난 성능 보임 확인</aside>

</li>
</ol>
<h1 id="0-abstract">0. Abstract</h1>
<aside>
💡 Finance domain에서 ML & DL 모델을 사용하기 위해 고려해야 할 부분

</aside>

<ol>
<li><strong>Cross-Sequence reasoning and inference</strong><ul>
<li>Time-Series data가 가지는 복잡한 dependence 특징을 포착해야 한다.</li>
<li>데이터 내의 Temporal pattern을 이해하는 것은 정확한 예측을 하는 데에 있어서 필수적이다.</li>
</ul>
</li>
<li><strong>Complex multi-modal finance temporal data</strong><ul>
<li>정확한 주가 예측을 수행하기 위해, 단순히 numerical seqeunce로 이뤄진 주가 뿐만 아니라, 해당 주식에 관련된 다른 금융 데이터(과거 뉴스, 거시경제 시장 지표, 차트 흐름 등)을 함께 처리해야 함.</li>
</ul>
</li>
<li><strong>Interpretability and explainability</strong><ul>
<li>DL 모델의 Black Box는 의사결정을 하는 데에 적은 부분의 insight밖에 주지 못함</li>
<li>투명성 부족 ← 신뢰성에 대한 우려 발생 + 사용자의 신뢰 저하 가능 / 이는 막대한 투자와 자산이 걸려있는 금융 관련 분야 더욱 중요</li>
</ul>
</li>
</ol>
<h1 id="1-introduction">1. Introduction</h1>
<blockquote>
<p>앞서서 언급된 3가지 문제점에 대해서 LLM을 활용함으로써 얻을 수 있는 장점 및 해결</p>
</blockquote>
<ol>
<li><strong>Cross-Sequence reasoning and inference</strong><ul>
<li>Transformer 계열의 모델은 input으로 들어온 text sequence 간의 관계를 모두 고려한다, 따라서 데이터의 복잡한 관계 또한 학습할 수 있음.</li>
<li>LLM은 시계열 데이터 내의 complex relation을 학습할 수 있다고 봄.</li>
</ul>
</li>
<li><strong>Complex multi-modal finance temporal data</strong><ul>
<li>LLM은 학습 시에 다양한 주제, 스타일, 형식을 아우르는 많은 양의 데이터로 학습</li>
<li>Numerical market data, textual news, articles, social media post 등 서로 다른 source 가지는 데이터가 많은 financial forecasting task에서 유용하다.</li>
</ul>
</li>
<li><strong>Interpretability and explainability</strong><ul>
<li>LLM은 인간이 이해할 수 있는 형태의 설명을 생성하는 능력이 있습니다. 이는 모델의 예측에 대한 신뢰를 높이고, 추론 과정에 대한 명확한 설명을 제공한다.</li>
</ul>
</li>
</ol>
<h1 id="2-related-works">2. Related Works</h1>
<h3 id="21-traditional-statistical--econometric-methods">2.1 Traditional Statistical / Econometric Methods</h3>
<ul>
<li>ARMA-GARCH 모델 → 전통 통계적/계량경제학적 기법, 오랜 기간 financial time-series 예측의 핵심 방법으로 자리잡음<ul>
<li>이런 모델 → 금융 시계열에서 의존성과 변동성 군집을 capture하는 능력 널리 사용</li>
<li>모델 종류<ol>
<li><strong>벡터 자기회귀 모델(Vector Autoregressive Models, VAM)</strong> </li>
<li><strong>상태 공간 모델(State-Space Models)</strong></li>
<li><strong>칼만 필터(Kalman Filter)</strong></li>
<li><strong>확산 모델(Diffusion Models)</strong></li>
<li><strong>벡터 오류 수정 모델(Vector Error Correction Model, VECM)</strong></li>
<li><strong>동태적 확률 일반 균형(DSGE)</strong></li>
</ol>
</li>
</ul>
</li>
</ul>
<h3 id="22-machine-learning-techniques">2.2 Machine Learning Techniques</h3>
<ul>
<li><p>Decision Tree, SVM 등과 같은 설명력이 충분한 기법들이 적극적으로 사용 됨</p>
</li>
<li><p>그러나 최근 RNN, CNN, Transformer 계열의 모델과 같은 딥러닝 모델이 이 작업에 적용</p>
<p>  → 이는 복잡하고 비선형적인 관계를 더욱 더 잘 표현할 수 있다.</p>
</li>
</ul>
<h3 id="23-large-language-models">2.3 Large Language Models</h3>
<ul>
<li><strong>GPT-3</strong>, <strong>GPT-4</strong>, <strong>LLaMA</strong>(Alpaca, Vicuna 등 포함)가 대표적인 LLM</li>
</ul>
<h1 id="3-methodology">3. Methodology</h1>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/69ff26f1-32bb-448d-9769-5c36dcb752cd/image.png" alt=""></p>
<aside>
💡 특정 시점의 값을 에측하는 것이 아닌, 주초부터 주말까지의 주가 변동률로 정의 되는 weekly/monthly stock return 예측이 목표 + 해당 결과를 도출하게 된 설명도 함께 제공

</aside>

<h3 id="31-data">3.1 Data</h3>
<ul>
<li><p>input</p>
<p>  3.1.1 :  NASDAQ-100 stock price data (from yfinance)</p>
<ul>
<li>Numerical price time-series를 percentage-change time series로 Normalize 진행, Percentage Change를 bin로(범주화) 분류</li>
<li>주간 예측 예시 (이번 주와 지난 주 사이의 가격 변화를 12개 구간으로 나눔<ul>
<li>&quot;D5+&quot;, &quot;D5&quot;, &quot;D4&quot;, &quot;D3&quot;, &quot;D2&quot;, &quot;D1&quot;, &quot;U1&quot;, &quot;U2&quot;, &quot;U3&quot;, &quot;U4&quot;, &quot;U5&quot;, &quot;U5+”</li>
<li><code>D5+</code>는 5% 이상 하락, <code>U5+</code>는 5% 이상 상승을 의미</li>
<li>Di는 (i-1)%에서 i% 사이의 가격 하락 의미</li>
<li>Bin의 숫자는 granularity(주,월 등)에 따라 달라짐</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><p>3.1.2 : Company Profile data : GPT 4를 이용</p>
<ul>
<li>company description<ul>
<li>general positive/negative factors (description)</li>
<li>예시 이미지(figure 1)
<img src="https://velog.velcdn.com/images/jja_jja/post/dc80f358-e242-407f-873e-35ea9f3ffdbd/image.png" alt=""></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>회사 설명: Apple은 아이폰, 아이패드, 애플 워치 등의 제품을 제조하는 미국 캘리포니아에 본사를 둔 기술 회사입니다.<ul>
<li>긍정적인 요인: 경제 성장, 기술 혁신, 성공적인 제품 출시, 법적 규제 완화 등.</li>
<li>부정적인 요인: 인플레이션, 기술 혁신 지연, 환경 규제 등.</li>
</ul>
</li>
</ul>
<ul>
<li><p>3.1.3 : Finance/Economy News data : GPT 4 이용</p>
<ul>
<li>Google Custom Search API 사용 → NASDAQ-100 주식에 대한 주간 뉴스 상위 5개 가져옴</li>
<li>위와 같은 방식으로 Macro economy와 현재 금융 현황에 대해서 똑같이 진행</li>
<li>예시 이미지(figure 2)
<img src="https://velog.velcdn.com/images/jja_jja/post/89be62f7-c615-48eb-b75b-fd4b45dea8b3/image.png" alt=""></li>
</ul>
</li>
</ul>
<pre><code>- 한 주 모든 뉴스 요약과 키워드 ← 메타 요약으로 통합한 예시 제공 (figure 3)
- 예시 이미지</code></pre><p>  <img src="https://velog.velcdn.com/images/jja_jja/post/4ab2cdf7-6ee0-4427-8eb1-17cb2dc9781c/image.png" alt=""></p>
<h3 id="32-instruction-based-zero-shotfew-shot-inference-with-llms">3.2 Instruction-Based Zero-shot/Few-shot Inference with LLMs</h3>
<blockquote>
<p>zero-shot, few-shot inference 실험에서 다음 instruction-based prompt 사용</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/1b06a1c0-5b5b-4965-a2ad-c0456cb0aead/image.png" alt=""></p>
<ul>
<li><p><strong>instruction-based prompt 이미지</strong></p>
<ul>
<li><p>Prompt 구조</p>
<ul>
<li>Instruction</li>
<li>Company Profile</li>
<li>과거 뉴스 요약 및 키워드</li>
<li>Categorized stoch price</li>
<li>cross-sequence few-shot learning example 포함</li>
</ul>
</li>
<li><p>Cross-sequence few-shot learning example ?</p>
<p>→ 예측하고자 하는 종목과 유사한 종목의 주가 의미 </p>
<ul>
<li>이 논문에서는 “AAPL”를 기준으로 GPT-4를 통해서 예시 도출</li>
</ul>
<p>→ “AAPL”과 가장 유사한 나스닥 주식 상위 3개 ⇒ “MSFT”, “GOOGL”,”AMZN”</p>
</li>
</ul>
</li>
<li><p>Prompt 구조와 Instruction은 경험적으로 고정</p>
</li>
</ul>
<h3 id="33-insturction-based-fine-tuning-with-open-llama">3.3 Insturction-based Fine-tuning with Open LLaMA</h3>
<ul>
<li>LLaMA 13B를 통해서 Instruction based fine-tuning 진행</li>
<li>LLaMA 13B 특징<ul>
<li>zero-shot에서 보통 Prompt에 대한 명령들을 효과적으로 실행 x → 그저 Prompt의 일부를 복제하는 경향 있음</li>
<li>따라서 Fine-tuning 과정 거치지 않는다면, 정상적인 Inference 불가능하다.</li>
</ul>
</li>
<li>Binary Classification에 대해서 GPT4와 대등한 성격 보이나, D5+, U5+와 같은 극단적인 예측을 더 생성하는 경향있어서 Higher Squared Error 발생함.</li>
<li>fine-tuning된 LLaMA의 output 예시
<img src="https://velog.velcdn.com/images/jja_jja/post/93e63414-0bb0-4a81-a344-66ec0b8d4550/image.png" alt="">    </li>
</ul>
<p>해석 </p>
<p>   <strong>요약</strong>: 주식 시장은 Apple의 비용 최적화와 신제품 출시 및 시장 확장을 통한 수익 창출에 긍정적으로 반응할 가능성이 높습니다. 규제 문제에도 불구하고, 회사의 환경적 책임 이행과 금융 상품의 다양화 노력은 장기적인 전망에 긍정적인 영향을 미칠 것으로 예상됩니다. 결과적으로 Apple의 주가는 또 한 번의 강력한 성장 주를 보일 것으로 예상되며, 예상 수익률은 U5+입니다.</p>
<p>   <strong>키워드</strong>: 비용 절감, 신제품 출시, 확장, 규제, 공급망</p>
<p>   <strong>주가 수익률</strong>: U5+</p>
<h1 id="4-experiments">4. Experiments</h1>
<h3 id="41-experiment-setup">4.1 Experiment Setup</h3>
<ul>
<li><p>Data time window</p>
<ul>
<li>Baseline 모델과 LLaMA 모델 모두 training이 필요함<ul>
<li>2017/06/12~2022/06/05까지의 5년치 데이터 사용하여 Training</li>
<li>++ 2022/06/05 ~ 2023/06/04까지의 52주간의 데이터를 통해 Evaluation</li>
</ul>
</li>
</ul>
</li>
<li><p>Baseline Models</p>
<ul>
<li>ARMA-GARCH (p=q=1) → 통계 기반</li>
<li>LightGBM</li>
<li>Gradient-boosting tree model</li>
</ul>
</li>
<li><p>Eval metrics</p>
<ul>
<li><p>Binary precision : 등락( D or U )을 정확하게 맞추는 것</p>
</li>
<li><p>Bin precision : 등락률 (D1, D2, … )을 정확하게 예측하는 것</p>
</li>
<li><p>MSE of consecutive bin ordinals : <strong>-6(D5+) ~ 5(U5+)까지의 MSE 계산</strong></p>
</li>
<li><p>GPT 4가 도출하는 summary 및 keyword 들에 대해서 ROUGE 1 및 ROUGE 2 도출</p>
<ul>
<li><p>ROUGE 설명</p>
<p>  <a href="https://ariz1623.tistory.com/307">https://ariz1623.tistory.com/307</a></p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2c0571fb-9cb7-4b76-a9f9-bfebff4b213f/image.png" alt="Forcasting stock return"></p>
<p>Forcasting stock return</p>
<ul>
<li>LLM 기반 모델들이 baseline model들 보다 더 나은 성능 보이고 있음</li>
<li>특히 GPT-4 Few-Shot w/ COT 모델이 가장 좋은 성능 보임, MSE가 10대로 떨어지는 것을 봤을 때, prediction direction에 관한 예측 뿐만 아니라 더 정확하게 변화를 포착함</li>
<li>LLaMA<ul>
<li>Fine-tuning 이후 bin Precision 성능이 좋지 않음 → fine-grained Reasoning 능력 부족</li>
<li>MSE 값이 높은 것으로 봤을 때, 예측 시 양 극단적인 값을 예측하는 경우가 많은 것으로 판단 가능</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/0e08e76a-f96f-44a1-98d6-22beaaa17a40/image.png" alt=""></p>
<p>Explanations generated by the LLM</p>
<ul>
<li>LLM이 생성한 Summary(S)와 Keyword(K)에 대해서 평가</li>
<li>GPT-4 few-shot with COT가 가장 높은 ROUGE score 달성</li>
</ul>
<h1 id="5-conclusion">5. Conclusion</h1>
<ol>
<li>기존 ML/DL 모델들이 금융 도메인에서 data를 다룰 때 어려움을 겪는<strong>, Cross-Sequence reasoning or inference, Complex multi-modal data, 설명력 부족 등에 문제점 → LLM을 통해 극복</strong>하고자 함.</li>
<li><strong>Point-wise 예측이 아닌, 등락 및 등락률 (주간 예측 기준 12개의 등락/등락률로 나눔)을 예측하고자 한 점이 인상 깊음</strong> → 현실적으로는 정말 point-wise 보다는 등락/ 등락률만을 정확하게 예측하더라도 실제로 유의미한 결과를 얻을 수 있다고 생각</li>
<li><strong>처음 이 금융 도메인에서 LLM을 이용한 것에 대한 potential을 보이는 것에 contribute를 가짐</strong></li>
</ol>
<ul>
<li>DSBA 세미나 유튜브 영상을 참고해서 작성한 내용입니다.<blockquote>
<p><a href="https://www.youtube.com/watch?v=e0Lupg19fuo">https://www.youtube.com/watch?v=e0Lupg19fuo</a></p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Mostra: A Flexible Balancing Framework to Trade-off User, Artist and Platform Objectives for Music Sequencing 리뷰]]></title>
            <link>https://velog.io/@jja_jja/Mostra-A-Flexible-Balancing-Framework-to-Trade-off-User-Artist-and-Platform-Objectives-for-Music-Sequencing-%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/Mostra-A-Flexible-Balancing-Framework-to-Trade-off-User-Artist-and-Platform-Objectives-for-Music-Sequencing-%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Sat, 21 Dec 2024 14:09:20 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>해외 최고 음악 스트리밍 서비스 Spotify에서 유저, 아티스트, 플랫폼 모두의 이익을 고려한 노래 추천 모델인 MOSTRA를 제안함 (2022.04.22) ACL 등재 </p>
</blockquote>
<h3 id="abstract-및-개념-정리">Abstract 및 개념 정리</h3>
<aside>
💡 궁극적인 task : 음악 스트리밍 플랫폼(spotify)에서 트랙을 순서대로 배열하는 과제

</aside>

<ul>
<li>사용자 만족도 + 아티스트 및 플랫폼 중심의 목표를 최대화 하는 것 → 플랫폼의 장기적 건강과 지속 가능성 보장하는 데에 매우 필요하다</li>
<li>4가지 objectives를 바탕한다.<ul>
<li>만족도(Sat)</li>
<li>발견(Discovery)</li>
<li>노출(Exposure)</li>
<li>증진(Boost)</li>
</ul>
</li>
<li>4가지 목표에 대해서 이러한 목표들 간의 성능 trade-off의 필요성과 잠재력을 강조, submodular인 multi-objective beam search decoding이 포함되어 있는 Set Transformer 기반의 encoder-decoder 구조인 Monstra 제안</li>
<li>Beam search 내용   <ul>
<li>시퀀스를 생성하는 작업에서 사용,<ul>
<li>효율적인 탐색을 통해 높은 확률을 가진 시퀀스를 선택적으로 탐색 (가장 가능성 있는 출력 시퀀스를 찾아내는 데 목적)</li>
</ul>
</li>
<li>기본원리<ul>
<li>BFS와 유사하지만 beam size를 parameter로 받아서 탐색해야 할 후보의 수 제한<ul>
<li>beam size 작을수록, 탐색 공간이 줄어들어 연산 비용이 감소하지만, 최적 해를 놓칠 가능성 커짐 (크면 그 반대)</li>
<li>따라서 적절한 parameter 값 조절 중요</li>
<li>작동 방식<ol>
<li>초기화 : 시작 토큰 설정</li>
<li>확장 : 현재 상태에서 가능한 모든 다음 상태 확장 (각 상태에 대한 확률 소프트맥스로 구함)</li>
<li>선택 : 확장 상태 중 확률이 높은 상위 N개 선택 (N : beam size)</li>
<li>종료 조건 검사 : 종료 토큰, 다른 종료 조건까지 2, 3단계 반복</li>
<li>결과 반환 : 최종적으로 선택된 상태(시퀀스) 중에서 가장 높은 확률의 시퀀스 출</li>
</ol>
</li>
</ul>
</li>
</ul>
</li>
<li>Set Transformer 내용<ul>
<li>Set Transformer 구조
<img src="https://velog.velcdn.com/images/jja_jja/post/d9a5c4e1-c020-4041-a032-cdd70fad988d/image.png" alt=""></li>
<li>전통적인 Transformer(순차적인 데이터 처리에 강점) 하지만 집합과 같은 순서가 없고 크기가 가변적인 데이터를 직접적으로 처리하는 데에 제약 존재.<ul>
<li>핵심 특징<ol>
<li>순서 독립성 <ul>
<li>입력으로써 주어진 요소들의 순서에 의존 x → 집합 처리에 필수적인 특성 의미</li>
<li>모델이 집합 내의 요소들을 어떤 순서로 입력받더라도 동일한 결과 출력</li>
</ul>
</li>
<li>Self-Attention 메커니즘<ul>
<li>집합 내의 각 요소가 서로 attention</li>
<li>요소들 사이의 관계 모델링함 → 순서에 구애받지 않는 데이터의 특성 잘 반영</li>
</ul>
</li>
<li>Pooling by Multihead Attention (PMA)<ul>
<li>Pooling을 통해서 집합의 크기를 동적으로 조정 가능 → 고정된 크기의 표현을 생성하여 집합의 크기 변해도 처리 가능</li>
</ul>
</li>
</ol>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><strong>4가지 목표를 균형있게 조절하여 목표에 대한 영향을 동적으로 제어함으로써 다른 목표 만족시킬 수 있는 능력 부여</strong></li>
<li><strong>4가지 목표 간에 존재하는 trade-off에 대한 insight 제시</strong></li>
<li><strong>제안된 framework가 다양한 관심 지표(metric of interest)들에 걸쳐 우수한, just-in-time 균형을 달성할 수 있음을 보인다.</strong></li>
</ul>
<h3 id="1-introduction">1. Introduction</h3>
<ul>
<li>기존 추천 모델은 유저의 만족도에 집중해서 설계되었다. 하지만 실제로는 아티스트(가수), 플랫폼의 이익도 함께 고려해야 한다.<ul>
<li>이 논문은 특히 음악 스트리밍 플랫폼의 맥락에서 추천 시스템이 사용자 만족도, 신흥 아티스트의 노출 및 콘텐츠 발견 촉진과 같은 전략적 목표 사이의 균형을 맞추는 것이 매우 중요하다고 언급</li>
</ul>
</li>
<li>MOSTRA (<strong>M</strong>ulti-<strong>O</strong>bjective <strong>S</strong>et <strong>Tra</strong>nsformer)<ul>
<li>4개의 objective(목표)를 함께 고려하여 가장 적절한 노래 순서대로 랭킹하는 모델</li>
<li>Encoder : Set Transformers</li>
<li>Decoder : Submodular Multi-Objective Beam Search</li>
</ul>
</li>
</ul>
<h3 id="2-related-work">2. Related Work</h3>
<blockquote>
<p>설명 : 추천 시스템 발전 및 multi-objective 최적화에 대한 연구 개괄
크게 3가지 부분으로 구성</p>
</blockquote>
<ol>
<li>일반적인 추천 시스템 2. multi-objective 추천 3. beam-search 알고리즘<blockquote>
</blockquote>
</li>
<li><strong>일반적인 추천 시스템</strong><ul>
<li>Matrix Factorizaiton</li>
<li>instance - level<ul>
<li>각 아이템의 점수를 독립적으로 매기는 방법</li>
</ul>
</li>
<li>set - level<ul>
<li>함께 추천된 아이템들을 문맥으로 고려하여 아이템의 점수를 매기는 방법</li>
</ul>
</li>
</ul>
</li>
<li><strong>Multi-Objective RecSys</strong><ul>
<li>여러 목표를 동시에 고려 → 하나의 함수로 aggregate하는 방식</li>
<li>여러 목표를 고려한 reward 함수 정의하는 방식</li>
</ul>
</li>
<li><strong>Beam Search Algorithm</strong><ul>
<li>Machine Translation, image Captioning .. → 가능한 모든 시퀀스 중 특정 목표 최대화</li>
<li>제한된 너비의 BFS 방식<ul>
<li>자세한 설명<ul>
<li>매 n번째 스텝에서 n+1 길이의 최대 k개 시퀀스까지 확장하고 목표 점수가 최대화 되는 시퀀스를 택함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3 id="3-objectives--stakeholders">3. Objectives &amp; Stakeholders</h3>
<p>아래는 스포티파이에서 제시한 Mostra paper로, 자세한 내용을 살펴보고 싶다면 참고해도 좋다.
<a href="https://research.atspotify.com/2022/04/mostra-balancing-multiple-objectives-for-music-recommendation/">Mostra: Balancing multiple objectives for music recommendation - Spotify Research</a></p>
<h3 id="6-결론">6. 결론</h3>
<aside>
💡 이 논문에서의 핵심
Mostra는 사용자에게 추천되는 트랙을 결정할 때 사용자의 취향, 새로운 음악 발견, 신흥 아티스트 노출, 그리고 플랫폼의 전략적 목표 등 여러 목표를 동시에 고려
→ 다양한 이해관계자가 있는 플랫폼에서 서로 다른 목표들이 어떻게 상호작용하는지 분석
<균형 잡힌 추천 목록(트랙) 제공>

<p><strong>Mostra는 이러한 복잡한 과정을 통합하여 사용자에게 개인화된 음악 경험을 제공</strong></p>
</aside>

<p>새롭게 문제 정의</p>
<p>“just-in-time multi-objective potimisation”</p>
<p>Monstra 아키텍처는 시스템 디자이너가 다양한 목표(objectives) 사이의 trade-off를 실시간으로 조절할 수 있게 하고, 이는 새로운 beam-search 알고리즘을 통해 제어 → “반사실적 결정” 개념을 사용해 다양한 목표 사이의 균형을 효과적으로 나타냄</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Large Language Model Can Interpret Latent Space of Sequential Recommender(2023.10) - 논문리뷰]]></title>
            <link>https://velog.io/@jja_jja/Large-Language-Model-Can-Interpret-Latent-Space-of-Sequential-Recommender2023.10-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/Large-Language-Model-Can-Interpret-Latent-Space-of-Sequential-Recommender2023.10-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Sun, 01 Sep 2024 09:28:34 GMT</pubDate>
            <description><![CDATA[<p>오늘은 시퀀셜 추천시스템에서 LLM을 활용해 SeqRec 모델의 latent space를 더 자세히 이해할 수 있도록하는 RecInterpreter를 제안한 논문을 리뷰하고자 한다.</p>
<p>논문 링크 : <a href="https://arxiv.org/abs/2310.20487">https://arxiv.org/abs/2310.20487</a></p>
<p>그럼 abstract부터 하나씩 살펴보자.</p>
<blockquote>
<h2 id="0-abstract">0. Abstract</h2>
</blockquote>
<p><strong>문제정의</strong>
전통적 시퀀스 추천 시스템, 항목의 시퀀스를 모델링해서 사용자의 선호 예측 But, 이 시스템의 숨겨진 표현을 해석하는 능력은 아직 완전하지 않다. 따라서 이 논문에서는 LLM이 ID-based Sequential Rec sys의 숨겨진 표현을 이해할 수 있을까라는 의문과 함께  <strong>RecInterpreter</strong> 프레임 워크 제안
<strong>해결방안</strong>
크게 총 3가지 정도의 solution이 제안됩니다. 하나씩 살펴보면,</p>
<ol>
<li><strong>Multimodal Adaptation</strong> : RecInterpreter, 상호작용 시퀀스의 표현과 텍스트 설명을 사용하여, 표현을 LLM의 토큰 임베딩 공간으로 매핑하는 lightweight adapter 활용</li>
<li><strong>Sequence Recovery</strong> : sequence-recovery prompt를 사용하여 LLM이 시퀀스 내 항목에 대한 텍스트 설명 생성 유도</li>
<li><strong>Sequence Residual Analysis</strong> : 시퀀스 residual prompt를 활용해서 LLM이 새로운 항목이 추가된 후 시퀀스이 변화를 비교하여 추가된 항목을 식별하도록 함<blockquote>
<h2 id="1-introduction">1. Introduction</h2>
</blockquote>
</li>
</ol>
<p><strong>시퀀스 추천 시스템 개요</strong></p>
<ul>
<li>이전에 상호작용한 항목(검색, 시청, 구매, 리뷰 기록 내역 등) 기반으로 다음 관심을 가질 가능성(클릭 혹은 구매까지 이어지는 경우)이 있는 항목을 예측하는 추천시스템</li>
<li>이때 Discrete ID (이산 ID)로 모델링을 하게 된다. 즉, 사용자가 행의 순차적 패턴을 반영하는 숨겨진 표현을 학습하는 것이다.
<img src="https://velog.velcdn.com/images/jja_jja/post/ff0de4f0-4b62-4c6c-ade6-f926c28d14dc/image.png" alt="">
위 이미지에서 (a), (b), (c) 파트를 각각 자세히 살펴보자.<h3 id="1-a-seqrec-과정"><strong>1. (a) SeqRec 과정</strong></h3>
<ol>
<li>항목 ID 처리<ul>
<li>Discrete ID로 변환</li>
<li>Titanic, Twilight, Star Wars → ID1 ID2 ID3</li>
</ul>
</li>
<li>시퀀스 모델링<ul>
<li>input → user가 상호작용한 항목(ID) sequence</li>
<li>이를 학습해서 사용자의 행동 패턴 캡처</li>
</ul>
</li>
<li>숨겨진 표현 생성<ul>
<li>Hidden Representation → SeqH 토큰 생성</li>
<li>SeqH 토큰은 사용자가 시청한 영화 목록(ID 시퀀스)을 SeqRec 인코더와 같은 추천 시스템을 통해 숨겨진 상태 SeqH로 변환한다.</li>
<li>이 SeqH 토큰은 사용자의 시청 패턴을 요약하는 벡터 표현</li>
</ul>
</li>
<li>Next Item predict<ul>
<li>이 SeqH 토큰을 기반으로 다음 item 예측 !!<h3 id="2-b-llm4rec-과정"><strong>2. (b) LLM4Rec 과정</strong></h3>
</li>
</ul>
</li>
<li>text prompt 생성<ul>
<li>사용자 상호작용 item 기반으로 text prompt 생성</li>
</ul>
</li>
<li>LLM 입력</li>
<li>다음 항목 예측<ul>
<li>“The Gotfather” ← 다음 항목으로 예측<h3 id="3-c-recinterpreter"><strong>3. (c) RecInterpreter</strong></h3>
</li>
</ul>
</li>
<li>항목 ID 처리 + hidden representation 생성  SeqRec 초입부분 똑같음</li>
<li>representation space mapping <ul>
<li>lightWeight 어뎁터 (linear layer)를 통과하여 숨겨진 표현을 LLM으 토큰 임베딩 공간으로 매핑</li>
<li>lightweight adapter이란?<ul>
<li>대형 언어 모델(LLM)과 같은 복잡한 모델에 적은 계산 자원을 사용하여 새로운 기능을 학습하거나 기존 기능을 확장<ul>
<li>SeqRec과 동일하게 입력을 주어진 항목 ID 처리, 이를 통해 hidden representation 생성</li>
</ul>
</li>
<li>이 adapter는 주로 단순한 linear layer로 구성</li>
</ul>
</li>
</ul>
</li>
</ol>
  -&gt; SeqH 토큰을 LLM이 이해할 수 있는 토큰 임베딩으로 변환한다.<ol start="3">
<li>text prompt 생성</li>
</ol>
  -&gt; 이 때 SeqH 생성<ol start="4">
<li>다음 항목 예측 및 설명</li>
</ol>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/36f139d4-e104-45bb-aebc-13fb701aded5/image.png" alt="moive recommendation에 대한 prompt 예시 이미지"></p>
<ul>
<li>여기서는 recommendation specific token을 갖기 위해 우리는 sequence recovery token을 제안한다.</li>
<li>empricial하게 LLaMA는 sequence hidden state를 이해할 수 있지만, 단점이 존재한다.<ul>
<li>정보가 compressive하기에 limitation이 존재한다.
<img src="blob:https://velog.io/3c064aeb-21a6-49f5-8ae5-9ac272fcc18d" alt="Sequence-Residual Prompt 예시"></li>
</ul>
</li>
<li>기존 시청기록과 추가적으로 새롭게 들어온 항목을 반영한 각각의 representation을 반영함</li>
<li>실험적으로 이 method 굉장히 효과적 + 대상 아이템의 text desciption까지 이해함</li>
<li>linear projection layer만이 tunable 하기에 여러 platform에서 adaptation하기에도 용이</li>
<li>gen recommender의 hidden state는 이산적으로 설명 어려움 그러나, RecInterpreter는 surrogate하게 설명 가능 !!!<blockquote>
<h2 id="3inspire-llms-to-understand-sequential-recommenders">3.Inspire LLMs to understand sequential recommenders</h2>
</blockquote>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/cc978473-d67b-4b6b-8860-07e3a4e8d389/image.png" alt="RecInterpreter framework"></p>
<h3 id="31-sequence-recovery-prompting">3.1 Sequence-Recovery Prompting</h3>
<ul>
<li>이전 멀티모달 LLM 연구에서 영감받음</li>
<li>LLM이 추천 hidden state를 바탕으로 item을 text로 reconstruct하는 접근 방식</li>
<li><em>1) Seqeunce Encoding via Sequential Recommenders*</em>
<img src="https://velog.velcdn.com/images/jja_jja/post/d0c1be31-7421-431f-966d-ca84463c74db/image.png" alt="sequence encoding"></li>
<li>$E_s$ : 상호작용한 item 목록의 embedding을 concat</li>
<li>사용자 상호작용 시퀀스 $s_1, s_2, ...,s_m$을 SeqRec인 SASRec, DreamRec을 사용해 hidden state로 인코딩</li>
<li><em>2) Representation Adaptation vis Lightweight Adapter*</em>
<img src="https://velog.velcdn.com/images/jja_jja/post/e7d93f33-0509-4e8f-8450-a574e91bc5ab/image.png" alt="linear layer 매핑"></li>
<li>LLM의 token size (LLaMA → 4096)로 dimension 표현 매핑 layer`</li>
<li>이 hidden state token은 textual content와 user interaction을 둘 다 보유<strong>3) Prompt Design for the Adapter Training</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/0d93acd7-ecb1-4e39-a0b0-31d79ed6907d/image.png" alt="Input과 Output에 대한 prompt design"></li>
<li>각 프롬프트 두 가지 component 포함<ol>
<li>input → projected된 hidden state SeqH 포함</li>
<li>Output → Auto Regressive하게 hidden state에 대해 text description을 reconstruct함</li>
</ol>
</li>
</ul>
<h3 id="32-sequence-residual-prompting제안된-아키텍처">3.2 Sequence-Residual Prompting<img src="https://velog.velcdn.com/images/jja_jja/post/e19add48-7b35-4d2e-9bbd-5a44bab0b732/image.png" alt="제안된 아키텍처"></h3>
<ol>
<li>Tokenizer(토크나이저)</li>
</ol>
<ul>
<li>text data, LLaMA 모델이 이해할 수 있는 형식으로 변환</li>
<li>세 개의 토크나이저가 각각 영화 목록(List1, List2)과 질문 텍스트를 토큰으로 변환하는 역할</li>
</ul>
<ol start="2">
<li>SeqRec Encoder (SeqRec 인코더)</li>
</ol>
<ul>
<li>user가 시청한 영화 목록을 ID sequence로 받고, 이를 latent state 상으로 변환</li>
<li>SeqRec 인코더는 두 개의 시퀀스(SeqH1과 SeqH2)를 생성합니다. SeqH1은 초기 시청 목록(List1)을 나타내고, SeqH2는 추가된 영화를 포함한 시청 목록(List2)을 나타냄</li>
</ul>
<ol start="3">
<li>linear layer (선형계층)</li>
</ol>
<ul>
<li>SeqH1과 SeqH2 두 가지 숨겨진 상태를 LLaMA의 입력 공간으로 매핑</li>
<li>이 선형 계층은 튜닝 가능한 모듈로, 학습 과정에서 파라미터가 업데이트 이뤄짐</li>
</ul>
<ol start="4">
<li>LLaMA 부분</li>
</ol>
<ul>
<li><p>LLaMA는 두 시퀀스의 숨겨진 상태를 바탕으로 잔차 항목(새로 추가된 영화)을 텍스트로 식별하고 설명</p>
</li>
<li><p>위 이미지에서는 &quot;This user watched movie <strong>Twelve Monkeys</strong> in List2 but not in List1.&quot;이라는 텍스트 응답을 생성<img src="https://velog.velcdn.com/images/jja_jja/post/e3621184-fcf4-445c-84e3-3009ea67e7e6/image.png" alt=""></p>
</li>
<li><p>Sequen일반적으로 recommendation , 매우 sparse 따라서 representation을 통해 모든 것 이해 → 어려운 문제</p>
</li>
<li><p>Flamingo는 두 비슷한 이미지 제시하고, 차이를 제공해서 LLM의 visual modalities 강화한 논문</p>
</li>
<li><p>여기서도 비슷하게 LLaMA가sequence의 residual item, 더 잘 식별하도록 프롬프트 제안 → 두 hidden state를 project한 뒤, figure 참고하기</p>
</li>
<li><p>LLaMA가 이전 hidden satet와 다음 hidden state를 비교 → 추가적으로 어떤 item을 interaction했는지 이해할 수 있음 !!</p>
<h3 id="33-instantiate-oracle-items">3.3 Instantiate Oracle Items</h3>
<p>위의 training step으로 generative recommender가 어떻게 작용되는지 설명</p>
</li>
<li><p><em>1) DreamRec*</em> </p>
</li>
<li><p>DreamRec으로 gen된 item → hidden vector, 따라서 nearest item을 추출해야 함 → 이는 candidate로밖에 제한되버린다.</p>
</li>
<li><p>이 논문에서는 DreamRec으로 oracle item의 description을 생성할 수 있기에 explicit한 추천(result) 얻을 수 있다.
_    - Drawing inspiration from the proposed sequence-residual prompting, we could let LLaMA provide the description of the oracle item generated by DreamRec, thus directly acquiring the recommendation results._</p>
</li>
<li><p><em>2) Construct Sequence-Residual task with oracle item*</em></p>
</li>
<li><p>Sequence residual prompting의 input으로 기존 sequence와 DreamRec으로 생성한 아이템이 포함된 seqeuence 동시 입력
<img src="https://velog.velcdn.com/images/jja_jja/post/a8215a09-e844-4ebf-82f0-125559e4ccb3/image.png" alt=""><img src="https://velog.velcdn.com/images/jja_jja/post/3a295726-1ca4-4718-9466-726772183768/image.png" alt="">DreamRec의 sequential encoder와 linear projection adapter에 적용시킴</p>
</li>
<li><p><em>3) Training and Inference*</em></p>
</li>
<li><p>Training 시, 기존과 동일한 sequence residual prompting framework 사용</p>
</li>
<li><p>Inference 시, 앞서 설명한 방법으로 oracle item의 text description 획득 (→ DreamRec은 불가능한 부분이었음)</p>
<blockquote>
<h2 id="4-experiment">4. Experiment</h2>
</blockquote>
</li>
</ul>
<h3 id="1-experimental-settings">1) Experimental Settings</h3>
<ul>
<li>LLM의 tuning → 매우 time-consuming 따라서 ML100K와 STEAM dataset을 활용</li>
<li>Rec backbone → GRU4Rec, Caser, SASRec, DreamRec 사용</li>
</ul>
<h3 id="2-sequence---recovery-result">2) Sequence - Recovery Result</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/8ead7543-da33-428c-8609-643eba47eb8d/image.png" alt=""></p>
<ul>
<li><p>Pop 알고리즘 가장 인기 있는 10개 영화 게임 추천</p>
</li>
<li><p>복원된 아이템의 수 의미</p>
</li>
<li><p>결과</p>
<ul>
<li>추천 성능 → DreamRec이 MovieLens와 Steam 데이터셋에서 다른 알고리즘 대비 4개 이상의 아이템 복원한 비율 매우 우수</li>
<li>Caser(컨볼루션AI 시퀀셜 임베딩 추천) 와 SASRec도 꽤 많은 아이템 복원 가능</li>
<li>LLaMa, MovieLens가 Steam에 비해 더 나은 복원력 보이는 데 → Steam dataset의 게임 description이 더 복잡하고 noisy하기 때문
<img src="https://velog.velcdn.com/images/jja_jja/post/7b25c44f-0cec-4af7-b837-6e15ff4fa849/image.png" alt=""></li>
</ul>
</li>
<li><p><em>Sequence-Residual Result*</em>
<img src="https://velog.velcdn.com/images/jja_jja/post/e54906a5-7bf8-491d-bbc5-81c823f15dab/image.png" alt=""></p>
</li>
<li><p>LLaMa → DreamRec과 가장 좋은 interaction 보인다 !!</p>
</li>
<li><p>MovieLens가 Steam보다 더 나은 성능 보임, + 다른 모델 대비 DreamRec 사용 시 Steam에서도 준수한 성능 보임</p>
</li>
<li><p><em>Instantiate Oracle items*</em></p>
</li>
<li><p>DreamRec을 통해 inference를 통해 추천 결과를 instantiate할 수 있다 !!</p>
</li>
<li><p>다만 DreamRec 의 에시와 비슷하게, candidate를 벗어나는 instance가 실험으로 다수 발견</p>
</li>
<li><p>즉, 우리가 알고있던 평가 metric Hitrate, NDCG가 아닌 gpt를 통해 evaluation 진행
<img src="https://velog.velcdn.com/images/jja_jja/post/9a6aeede-428c-4eb9-9ca7-d058e6011ae7/image.png" alt=""></p>
</li>
<li><p>위 프롬프트를 통해 ChatGPT가 추천된 항목 중에서 사용자가 선호할 가능성이 높은 영화를 선택하도록 평가.
<img src="https://velog.velcdn.com/images/jja_jja/post/466fea2c-5750-4839-85e4-89405962439e/image.png" alt=""></p>
</li>
<li><p>RecInterpreter의 역할로써 DreamRec의 오라클 아이템을 텍스트로 구체화하여 추천의 이해와 해석을 돕고, 사용자가 명확하게 이해할 수 있는 추천 결과를 제공</p>
<blockquote>
<h2 id="5conclusion-and-limitation">5.Conclusion and Limitation</h2>
</blockquote>
</li>
</ul>
<h3 id="conclusion">Conclusion</h3>
<ul>
<li>RecInterpreter 제안<ul>
<li>대규모 언어 모델(LLM)이 기존의 시퀀스 추천 시스템의 숨겨진 표현을 이해할 수 있도록 돕는 프레임워크</li>
<li>멀티모달 언어 모델에서 motivation,<ul>
<li>이미지, 오디오 인코더와 같은 모달리티별 인코더의 숨겨진 표현을 LLM이 간단한 projeciton을 통해 인식 가능</li>
</ul>
</li>
<li>생성적 추천 완성<ul>
<li>생성적 추천 시스템에서 RecInterpreter는 생성된 항목을 텍스트로 구체화하여 명확하게 해석하고 설명할 수 있는 새로운 방법</li>
</ul>
</li>
</ul>
</li>
<li>미래 연구 가능성<ul>
<li>RecInterpreter를 이용해서 sequence recovery, sequence residual prompt 외에 새로운 프롬프트 framework 설계함으로써 latent space를 더 잘 이해할 수 있게끔 가능</li>
<li><strong>협업 필터링 모델, 대화형 추천시스템 (CRS)와 같은 다른 추천시스템 이해하는 데 LLM 활용하는 것 유망할 수 있다.</strong></li>
</ul>
</li>
</ul>
<h3 id="limitation">Limitation</h3>
<ol>
<li>단순한 projection - linear layer 사용<ol>
<li>더 복잡한 adapter 필요한 경우 한계점</li>
</ol>
</li>
<li>dataset 크기<ol>
<li>더 큰 dataset과 충분한 computing 자원을 통해 RecInterpreter 성능 높일 수 있음</li>
</ol>
</li>
</ol>
<blockquote>
<p><strong>이렇게 LLM을 활용해서 sequence recsys의 latent space상에서 어떻게 해석될 수 있는지에 대해서 살펴보았다. 추천시스템을 적용시키고 유저에게 제공해주기 위해서는 이에 알맞는 설명력을 갖추는 것이 필연적인데, LLM을 활용해서 이런 설명력들을 보완하는 여러 연구들이 현재 다양하게 진행되고 있다. 따라서 이와 관련된 내용들이 궁금한 사람들은 추가적으로 LLM + Rec에 대해서 더 찾아봐도 좋을 것 같다.</strong></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[RecGURU: Adversarial Learning of Generalized User Representations for Cross-Domain Recommendation (2021.11)]]></title>
            <link>https://velog.io/@jja_jja/RecGURU-Adversarial-Learning-of-Generalized-UserRepresentations-for-Cross-Domain-Recommendation-2021.11</link>
            <guid>https://velog.io/@jja_jja/RecGURU-Adversarial-Learning-of-Generalized-UserRepresentations-for-Cross-Domain-Recommendation-2021.11</guid>
            <pubDate>Fri, 16 Aug 2024 07:43:41 GMT</pubDate>
            <description><![CDATA[<p>Cross-Domain 추천시스템에서 Adversarial learning을 적용시켜 user의 representation을 일반화시키는 RecGURU 모델 논문을 소개하고자 한다.
출처 : <a href="https://arxiv.org/abs/2111.10093">https://arxiv.org/abs/2111.10093</a></p>
<p>먼저 핵심만 가지고 전체적인 흐름을 소개하고 세부적인 내용을 살펴보자.
간단하게 살펴보고 싶은 사람은 핵심정리 내용만 봐도 무방하다.</p>
<blockquote>
<h2 id="핵심정리">핵심정리</h2>
</blockquote>
<p><strong>&lt;RecGURU 목표&gt;</strong>
<em>1. data sparse problem 해결 _
    → original SeqRec에서 사용자 행동 데이터 부족한 경우 많음
_2. Generalized User Representations 생성</em>
-&gt; 여러 도메인에서 사용자의 정보를 통합하여 일반화된 사용자 범용 표현 만듦</p>
<p><strong>&lt;RecGURU 주요 구성 요소&gt;</strong></p>
<ul>
<li>Generalized User Representation Unit (GURU)</li>
</ul>
<ol>
<li>Self Attention AutoEncoder </li>
</ol>
<p>-&gt; user의 latent representation 파악하기 위해 사용
이 때 소스 도메인과 타겟 도메인 모두 작동
2. domain discriminator 
-&gt; 생성된 user representation의 출처 도메인을 예측</p>
<ul>
<li>Adversarial Learning<ul>
<li>Generator : 인코더 부분이 사용자 표현 생성</li>
<li>Discriminator : 생성된 표현의 출처 도메인을 식별
목표 : 인코더와 식별자 번갈아가면서 학습, 식별자는 도메인 구분할 수 없을 때까지 학습</li>
</ul>
</li>
</ul>
<blockquote>
<h2 id="세부-내용">세부 내용</h2>
</blockquote>
<h3 id="1-abstract">1. Abstract</h3>
<ul>
<li>RecGURU 모델 프레임워크 공개한 논문</li>
<li>RecGURU는 data sparse을 해결하기 위한 Cross-Domain Recommendation에서 사용자의 정보를 통합하여 일반화된 사용자 표현(GUR)을 생성한다.</li>
<li>이 모델은 두개의 모듈 <ul>
<li>autoencoder</li>
<li>domain discriminator </li>
<li><blockquote>
<p>서로 다른 도메인에서 생성된 사용자 임베딩을 하나의 글로벌 GUR로 통합</p>
</blockquote>
</li>
</ul>
</li>
<li>실험 결과에서 RecGURU는 기존의 sequencial 및 Cross-Domain 추천 방법들보다 우수한 성능을 보임.</li>
<li>논문에서는 두 개의 공개 cross-domain dataset과 실세계 애플리케이션으로부터 수집된 대규모 데이터셋에서 실험 결과를 제시 (Experiments에서 자세히 살펴보자)</li>
</ul>
<h3 id="2-introduction">2. Introduction</h3>
<ul>
<li><p>SeqRec</p>
<ul>
<li>사용자들의 최근 행동과 장기적인 행동 이력 활용 -&gt; 온라인 사용자의 선호도와 의도를 모델링하는 데에 사용</li>
<li>RNNs와 Attention Machanism 활용</li>
</ul>
</li>
<li><p>Cross-Domain Rec</p>
<ul>
<li>data sparse 해결</li>
<li>transfer learning : 한 도메인에서 다른 도메인으로 사용표현을 매핑하는 방식을 사용함</li>
<li>그러나 대부분의 기존 방법은 각 도메인에서 겹치는 사용자 데이터를 기반으로 transfer 수행, 겹치는 사용자가 거의 없거나 아예 없을 때는 수행 x -&gt; 이는 실제 응용에서 종종 충분한 수의 겹치는 user 수를 확보하는 데에 어려움을 갖고 있음</li>
</ul>
</li>
<li><p>RecGURU 설명</p>
<ul>
<li>구성<ul>
<li>GURU(G) 모듈 : 일반화된 사용자 표현 (GUR) 생성</li>
<li>CDSRec(C) 모듈 : GUR을 활용해 도메인 간 협력 시퀀셜 추천 수행</li>
</ul>
</li>
<li>모듈<ul>
<li>AutoEncoder :각 도메인에서 유익한 user 임베딩 생성<ul>
<li>self-attention encoder : 소스 및 타겟 도메인의 행동 시퀀스를 재구성하는 두 개의 decoder와 모델 가중치 공유</li>
<li>학습 : 행동 시퀀스 reconstruct을 통해 초기 임베딩 생성</li>
</ul>
</li>
<li>Adversarial Learning : <ul>
<li>encoder(generator) : 사용자 임베딩 생성</li>
<li>Discriminator : 생성된 임베딩의 출처 도메인 식별</li>
<li>학습 과정 : 판별자가 도메인을 구분하지 못할 때까지 인코더와 판별자를 번갈아 가면서 학습</li>
<li>결과 : 두 도메인의 사용자 임베딩이 통계적으로 구별 x </li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>핵심 기여</p>
<ul>
<li>도메인 간 협력 없이 단일 GUR로 사용자 표현 통합</li>
<li>겹치는 사용자가 없을 때도 효과적</li>
<li>아마존 데이터셋과 실제 데이터셋(Wesee와 Tencent Video)을 통해 성능 입증</li>
</ul>
</li>
</ul>
<h3 id="3-method">3. Method</h3>
<h4 id="3-1-loss-설명">3-1 loss 설명</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/b18a82c9-6e3b-44ef-bab8-670dca343e22/image.png" alt=""></p>
<ul>
<li>BPR(Bayesian PErsonalized Ranking) loss 함수를 변형시킴</li>
<li>간단하게 설명하면, 긍정 샘플과 부정 샘플을 구별하여 긍정적인 상호작용의 확률을 최대화하고 부정적 상호작용의 확률을 최소화하는 것을 목표로 함. </li>
<li><strong>궁극적으로 사용자가 좋아하는 아이템이 그렇지 않은 아이템보다 높은 순위에 오르게 끔 함.</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/baf98c9f-92da-4dfe-82b7-670ed53d1a38/image.png" alt=""></li>
<li>최종 손실 함수는 총 3가지 손실함수로 이뤄져 있음.</li>
</ul>
<ol>
<li><p>reconstruction loss : 주로 오토인코더나 생성 모델에서 사용되며, 원본 데이터를 재구성했을 때의 차이를 측정</p>
</li>
<li><p>discriminative loss : 이 항목은 분류 성능을 향상시키기 위해 사용될 수 있으며, 모델이 서로 다른 클래스 또는 데이터 포인트 간의 차이를 잘 구별할 수 있도록 유도, 이 손실은 보통 낮아야 하므로, 총 손실에서 -함</p>
</li>
<li><p>l2 정규화 loss : 이는 모델 파라미터에 대해 정규화를 적용하여 오버피팅을 방지하는 데 사용</p>
<h4 id="3-2-모델-구조-설명">3-2 모델 구조 설명</h4>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ee8210ed-ae20-4034-9659-40195063a46d/image.png" alt=""></p>
</li>
<li><p>임베딩 (Embedding)</p>
<ul>
<li>Item &amp; Position Embedding<ul>
<li>도메인 A와 B의 사용자 interaction sequence는 각각 항목과 위치 임베딩을 통해 임베딩</li>
<li>$e^{a}<em>{i}, e^{b}</em>{i}$</li>
<li>이 임베딩은 항목의 정체성 $v^{a}<em>{i}, v^{b}</em>{i}$ 그리고 시퀀스 내 위치를 결합하여 상호작용 순서 포착</li>
</ul>
</li>
</ul>
</li>
<li><p>시퀀스 임베딩 (Sequence Embedding)</p>
<ul>
<li>단기 시퀀스 임베딩 (short-term Sequene Embedding)<ul>
<li>두 도메인의 단기 행동 sequence는 시퀀스 임베딩을 통해 임베딩</li>
</ul>
</li>
</ul>
</li>
<li><p>GURU 인코더</p>
<ul>
<li>latent embedding - 잠재 임베딩<ul>
<li>이 단기 시퀀스 임베딩은 GURU 인코더에 입력되어 일반화된 latent user representation $h^{a}<em>{i}, h^{b}</em>{i}$ 생성</li>
<li>인코더는 이 임베딩을 결합하여 long term sequence representation 형성</li>
</ul>
</li>
</ul>
</li>
<li><p>AutoEncoder 작업 학습 </p>
<ul>
<li><p>Reconstructed Seqeunce</p>
<ul>
<li><p>GURU 인코더의 출력 → 입력 시퀀스를 재구성하는데에 사용</p>
<p>→ 도메인별로 디코더(Decoder A와 Decoder B)를 통해 수형</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>CDSRec 모델</p>
<ul>
<li><strong>도메인별 다음 항목 추천 (Domain-Specific Next Item Recommendation)</strong></li>
<li>GURU 인코더에서 생성된 일반화된 사용자 표현(GUR)은 두 도메인의 CDSRec 모델에서 사용</li>
<li>각 CDSRec 모델은 주의 변환기 층(attention transformer layer)과 피드포워드 층(feed-forward layers)을 사용하여 시퀀스의 다음 항목을 예측</li>
</ul>
</li>
<li><p>GUR (Generalizing User Representations)</p>
<ul>
<li>GURU 모듈<ul>
<li>Domain Discriminator : 사용자 표현에 제약 적용 → 도메인 간 일반화 보장</li>
<li>모든 사용자에 대한 제약 : 사용자 임베딩에 제약 적용 → 사용자가 도메인 A or 도메인 B에 속하는지 예측</li>
<li>겹친 user에 대한 제약 : 두 도메인이 모두 있는 user에 대해서 두 도메인의 임베딩간  L2 거리 최소화하여 일관성 유지</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3 id="4-experiment">4. Experiment</h3>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/ec1e2b64-6569-4375-9704-9545c6a9b4ac/image.png" alt=""></p>
<ul>
<li><strong>기본 알고리즘</strong>: POP, BPRMF, SAS, Bert4Rec</li>
<li><strong>제안된 변형 방법들</strong>: AutoRec, AutoEM, RecGURU</li>
<li><strong>성능 지표</strong>:<ul>
<li>HR@5 (Hit Ratio at 5): 추천된 상위 5개 항목 중 히트율</li>
<li>HR@10 (Hit Ratio at 10): 추천된 상위 10개 항목 중 히트율</li>
<li>NDCG@5 (Normalized Discounted Cumulative Gain at 5): 상위 5개 항목의 중요도 순서 고려한 지표</li>
<li>NDCG@10 (Normalized Discounted Cumulative Gain at 10): 상위 10개 항목의 중요도 순서 고려한 지표</li>
</ul>
</li>
</ul>
<p>여기서, RecGURU가 대부분의 시나리오에서 최고 성능을 보이며, 특히 HR@10과 NDCG@10에서 큰 향상을 보이는 것을 알 수 있음
<img src="https://velog.velcdn.com/images/jja_jja/post/15c9f0ad-0ee4-46e3-b9a0-5d0ca0222436/image.png" alt=""></p>
<ul>
<li><strong>(a) 그래프:</strong><ul>
<li><strong>Discriminator Loss:</strong> 도메인 판별자의 손실</li>
<li><strong>Wasserstein Distance:</strong> 두 확률 분포 간의 거리, 초기에는 증가하다가 점차 감소하며 수렴</li>
</ul>
</li>
<li><strong>(b) 그래프:</strong><ul>
<li><strong>Recon Loss A/B:</strong> 소스와 타겟 도메인의 재구성 손실</li>
<li><strong>BPR Loss:</strong> 추천 작업의 BPR 손실</li>
<li>재구성 과제는 약 400회 반복 후 수렴, 추천 작업은 약 100회 반복 후 수렴</li>
</ul>
</li>
</ul>
<h3 id="5-conclusion">5. Conclusion</h3>
<ul>
<li>RecGURU : RecGURU는 일반화된 사용자 표현(GUR)을 기반으로 하는 새로운 형태의 크로스 도메인 순차 추천 프레임워크</li>
<li>기존 방식과의 차별점 소개<ul>
<li>지식 전이: 기존 크로스 도메인 추천 시스템은 주로 도메인 간의 지식 전이에 중점을 두었으나, RecGURU는 조금 다른 접근을 사용</li>
<li>GURU 모듈: RecGURU는 다양한 도메인에서 통합된 사용자 표현을 추출할 수 있는 GURU 모듈을 제안</li>
</ul>
</li>
<li>세부 기술:<ul>
<li>autoencoder: 각 도메인에서 사용자 표현을 생성하기 위해 오토인코더가 사용</li>
<li>도메인 일반화: 도메인 간 일반화는 도메인 구별 가능한 임베딩을 통계적으로 구별할 수 없을 때까지 discriminator와 encoder를 대립적으로 학습</li>
</ul>
</li>
<li>안정성 및 학습 효과:<ul>
<li>다양한 안정화 및 학습 향상 기법들을 제안</li>
</ul>
</li>
<li>실험 결과:<ul>
<li>공개된 데이터셋과 자체 수집한 데이터셋에서 RecGURU의 효과와 성능 입증</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[IDGenRec: LLM-RecSys Alignment with Textual ID Learning(2024.03) - 논문리뷰]]></title>
            <link>https://velog.io/@jja_jja/IDGenRec-LLM-RecSys-Alignment-with-Textual-ID-Learning2024.03-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</link>
            <guid>https://velog.io/@jja_jja/IDGenRec-LLM-RecSys-Alignment-with-Textual-ID-Learning2024.03-%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0</guid>
            <pubDate>Wed, 31 Jul 2024 07:31:24 GMT</pubDate>
            <description><![CDATA[<p>논문 링크 : <a href="https://arxiv.org/abs/2403.19021">https://arxiv.org/abs/2403.19021</a></p>
<h4 id="추천시스템-관련한-논문들을-접하던-중-llm을-추천-혹은-검색시스템에-접목하여-ncsoft-등-여러-빅테크-기업에서도-이를-활용하고-있다-따라서-llm을-활용한-여러-방법론을-접목시켜서-추천-성능을-높이는-연구들을-리뷰하고자-한다-이후에도-계속-llmrec-관련한-널리-알려진-p5-m6-모델-llamarec-등에-대한-내용들도-리뷰할-예정이다">추천시스템 관련한 논문들을 접하던 중 LLM을 추천 혹은 검색시스템에 접목하여 ncsoft 등 여러 빅테크 기업에서도 이를 활용하고 있다. 따라서 LLM을 활용한 여러 방법론을 접목시켜서 추천 성능을 높이는 연구들을 리뷰하고자 한다. 이후에도 계속 LLMRec 관련한 널리 알려진 P5, M6 모델, LlamaRec 등에 대한 내용들도 리뷰할 예정이다.</h4>
<p><strong>그럼 IDGenRec 모델은 어떻게 활용되는지 살펴보자.</strong></p>
<blockquote>
<h1 id="0-abstract">0. Abstract</h1>
</blockquote>
<p><em><strong>핵심만 살펴보면 기존 이산적 ID 인코딩 방식을 text ID 방식으로 표현함으로써 더 풍부한 item의 representation을 반영해서 추천 성능을 올리는 것이다. IDGenRec 프레임워크는 text ID 방식으로 만들어준다. 자세히 살펴보면,</strong></em></p>
<ul>
<li>문제 정의<ul>
<li>항목을 단순한 ID 취급하는 기존 방식은 각 항목의 개별적인 특성이나 상호작용 제대로 반영 x → 추천 성능 저하</li>
</ul>
</li>
<li>해결 방법<ul>
<li>IDGenRec 프레임워크 제안<ul>
<li>항목 간의 연관성을 보다 정교하게 모델링함으로써 추천 성능 개선</li>
</ul>
</li>
</ul>
</li>
<li>주요 과정<ol>
<li>항목의 정교한 표현 생성</li>
<li>다양한 데이터 소스 통합</li>
<li>생성적 모델 적용</li>
<li>시퀀스 예측 강화</li>
</ol>
</li>
</ul>
<blockquote>
<h1 id="1-introduction">1. Introduction</h1>
</blockquote>
<ul>
<li>기존 추천시스템 문제점<ul>
<li>단순한 ID based 접근법 (영화 A → ID 123, 영화 B → ID 456)<ul>
<li>복잡한 관계 반영 x</li>
</ul>
</li>
<li>부족한 항목 특성 반영<ul>
<li>상품 text, image, review 등 다양한 데이터 source 활용 x</li>
</ul>
</li>
</ul>
</li>
<li>Solution 제안 → IDGenRec 프레임워크<ul>
<li>정교한 항목 표현 생성<ul>
<li>ex) 한 영화에 대한 text 설명, 포스터 이미지, 사용자 리뷰 모두 사용함으로써 풍부한 항목 표현</li>
</ul>
</li>
<li>생성적 모델 사용<ul>
<li>이를 통해 항목의 잠재적 특성 학습, 이를 바탕으로 사용자가 관심 가질 만한 새로운 항목 예측</li>
</ul>
</li>
<li>시퀀스 예측 강화<ul>
<li>사용자가 이전에 본 상호작용 항목 데이터 반영<h3 id="주요-llm-기반-추천-모델들의-특징-비교">주요 LLM 기반 추천 모델들의 특징 비교</h3>
<img src="https://velog.velcdn.com/images/jja_jja/post/8ad8224f-029f-4214-b6b3-7d4aacc7459a/image.png" alt=""></li>
</ul>
</li>
</ul>
</li>
<li>foundation 모델이 아닌 이유 → OOV token 사용하기 때문에</li>
<li>Gen 모델 아닌 이유 → 인코더 기반</li>
</ul>
<p><strong>IDGen 과정에 대한 Figure</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/df02bad9-a956-4743-87f5-9cbd1df1d78f/image.png" alt=""></p>
<ul>
<li>메타 텍스트 정보들을 바탕으로 LLM 기반의 ID Generator에 입력</li>
<li>이 Generator는 각 항목의 특성 정보를 기반으로 abstract한 Text ID 생성<blockquote>
<h1 id="2-approach">2. Approach</h1>
</blockquote>
</li>
</ul>
<p><strong>ID Generator</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/49697241-b657-451b-9e1c-5c8e99121321/image.png" alt="">
<strong>Gen 추천 워크플로우 figure</strong></p>
<ul>
<li>과정<ol>
<li>ID Generator를 통해 plain text → text ID로 변환</li>
<li>토큰 임베딩 진행 (각 단어 → 임베딩 벡터로 변환)</li>
<li>위치 임베딩과 토큰 임베딩 concat</li>
<li>상호작용 시퀀스 캡처 (ex user has interacted with item jessica simpson perfume ..)</li>
<li>constrained Decoding 방식을 통한 최종 추천 항목 ID 생성 (동일하게 text ID 형태)</li>
</ol>
</li>
</ul>
<blockquote>
<h1 id="3-experiment">3. Experiment</h1>
</blockquote>
<ol>
<li><p><strong>standard evaluation of seqeuntial recommendation
 → baseline들과 비교</strong></p>
</li>
<li><p>**zero-shot</p>
<ul>
<li>두 가지 데이터셋 그룹 사용 (아마존 데이터 기반)**<ul>
<li>Pre-training datsets → the Amazon review
dataset, containing various domains,</li>
<li>Testing datasets → both Amazon review datasets (intra-platform) and the
Yelp dataset (inter-platform).
<img src="https://velog.velcdn.com/images/jja_jja/post/b3a17955-49da-455d-85a8-973c49b9b42d/image.png" alt=""></li>
</ul>
</li>
</ul>
</li>
</ol>
<p>-&gt; dataset의 density 정도</p>
<p><strong>1. Pretraining dataset에 대한 실험결과</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/57677001-889c-4ac4-815d-0ab872e68daf/image.png" alt="">
-&gt; 기존 P5 모델들과 baseline들에 비해 IDGen을 사용한 모델의 성능이 높게 나옴.
<img src="https://velog.velcdn.com/images/jja_jja/post/75ebf98b-2fcc-4906-8e40-d42cfdb79f4b/image.png" alt="">
-&gt; Alternative Learning 진행
총 3가지 case 존재</p>
<ol>
<li>userID만 학습</li>
<li>item만 학습</li>
<li>두 개 Alternate하게 학습</li>
</ol>
<ul>
<li>user ID만을 사용했을 때는 성능 좋지 않지만,</li>
<li>ItemID만 사용할 때, 그리고 userID + itemID 동시에 고려할 때 성능 잘 나옴.</li>
</ul>
<p><strong>2. Zero-Shot 실험결과</strong>
<img src="https://velog.velcdn.com/images/jja_jja/post/1b8c7433-6b42-4cba-ba99-5e500dc5a1fd/image.png" alt="">
-&gt; Yelp dataset 활용 : Fine-Tuning된 case가 원 데이터에 대해서 더 자세한 ID를 생성하는 것을 확인할 수 있다.</p>
<blockquote>
<h1 id="4-related-work">4. Related Work</h1>
</blockquote>
<ul>
<li><strong>LLM-based Discriminative Recommendation</strong><ul>
<li>사용 목적: 사용자 및 아이템의 컨텍스트 정보 활용</li>
<li>중요한 연구: BERT 사용 다수</li>
<li>핵심 아이디어: 사용자와 아이템의 임베딩 학습과 순위 계산에 통합</li>
</ul>
</li>
<li><strong>LLM-based Generative Recommendation</strong><ul>
<li>사용 목적: 아이템을 직접적으로 텍스트로 생성</li>
<li>주요 연구:<ul>
<li>Geng et al. (2022): T5 기반의 generative recommendation 시스템, 5가지 추천 작업에서 기존 방법들과 비교</li>
<li>[9]: 시각적 특징을 고려한 멀티모달 추천 시스템</li>
<li>[14]: 인덱싱 아이템 ID 메서드가 성능에 미치는 영향 연구</li>
<li>한계점: 숫자 ID, OOV 토큰 사용으로 풍부한 텍스트 정보 활용 어려움</li>
</ul>
</li>
</ul>
</li>
<li><strong>제안된 대안 연구</strong><ul>
<li>본 연구가 독자적으로 제안한 방법:<ul>
<li>문맥 정보를 활용한 의미론적 아이템 ID 생성</li>
<li>다양한 플랫폼에서 Zero-shot 추천 가능</li>
</ul>
</li>
</ul>
</li>
<li><strong>기타 연구</strong><ul>
<li>학습이나 Fine-Tuning 없이 LLM 활용 추천 연구:<ul>
<li>초점: 프롬프트 디자인</li>
<li>주요 연구: ChatGPT의 추천 시나리오 성능 평가</li>
</ul>
</li>
</ul>
</li>
</ul>
<blockquote>
<h1 id="5-conclusion">5. Conclusion</h1>
</blockquote>
<ul>
<li>텍스트 ID의 중요성<ul>
<li>text id → 플랫폼 구애 x 받지 않아 여러 플랫폼에서 동일한 항목을 쉽게 식별하고 공유 가능</li>
<li>항목의 특성 더 잘 반영함</li>
</ul>
</li>
<li>zero shot 추천 시나리오에서의 성능 향상<ul>
<li>zero shot, 새로운 dataset을 학습하지 않고도 강력한 성능 보여줌 → 다양한 데이터 상황에서 유연하게 작동</li>
<li>유사한 항목 식별 능력이 뛰어남.</li>
<li>이 텍스트ID는 이미지, 리뷰 등 다양한 데이터를 통합하여 멀티모달 데이터를 활용하기에 복합적인 특성을을 학습할 수 있어, 더욱 강력한 추천을 제공할 수 있다.</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Deep Neural Networks for Youtube Recommendations 2016 - 논문리뷰]]></title>
            <link>https://velog.io/@jja_jja/Deep-Neural-Networks-for-Youtube-Recommendations-2016</link>
            <guid>https://velog.io/@jja_jja/Deep-Neural-Networks-for-Youtube-Recommendations-2016</guid>
            <pubDate>Tue, 30 Jul 2024 03:03:00 GMT</pubDate>
            <description><![CDATA[<p>논문 링크 : <a href="https://dl.acm.org/doi/abs/10.1145/2959100.2959190">https://dl.acm.org/doi/abs/10.1145/2959100.2959190</a></p>
<h3 id="현재-구글-유튜브의-추천-알고리즘-paper">현재 구글 유튜브의 추천 알고리즘 paper</h3>
<ol>
<li>Nandy et al., (2010) The YouTube Video Recommendation System</li>
<li><strong>Covington et al., (2016) Deep Neural Networks for YouTube Recommendations - 리뷰</strong> </li>
<li>Zhao et al., (2019) Recommending What Video to Watch Next: A Multitask Ranking System</li>
</ol>
<p>추천시스템 중에서 가장 근본이라고 할 수 있는 유튜브 추천 알고리즘에 대해서 리뷰하고자 한다.</p>
<p>[*<em>connected paper 사이트 *</em>] (<a href="https://www.connectedpapers.com/">https://www.connectedpapers.com/</a>)</p>
<ul>
<li>위 사이트는 그래프 형태로 citation된 paper들을 시각화해서 접근하기 쉽게 나타냈다. 위 사이트를 참고해도 좋을 것 같다.
<img src="https://velog.velcdn.com/images/jja_jja/post/576cc879-3bb1-41da-8ab7-16aaad7f775f/image.png" alt="youtube citation된 논문들"></li>
</ul>
<h3 id="목차">목차</h3>
<ol>
<li>Introduction</li>
<li>System Overview</li>
<li>Candidate Generation</li>
<li>Ranking</li>
<li>Conclusions</li>
</ol>
<blockquote>
<h1 id="1-introduction">1. Introduction</h1>
</blockquote>
<ul>
<li>딥러닝을 이용해서 유튜브 영상 추천을 다루고자 한다.</li>
<li>유튜브 비디오 추천은 3가지의 상당한 어려움 존재<ol>
<li>Scale : 너무 많은 유튜브 user와 corpus(비디오 데이터)</li>
<li>Freshness : 하루에도 몇 백만 개 이상의 영상들이 업데이트되기에 이러한 부분들을 유저의 최신 반응에도 반영해야 함</li>
<li>Noise : 진정으로 각기 유저의 만족도를 알기 어렵기 때문에, 노이즈가 많이 껴 있는 implicit feedback signal들로 파악해야 한다. 뿐만 아니라 영상 메타데이터도 잘 구조화되어있지 않음.</li>
</ol>
</li>
</ul>
<blockquote>
<h1 id="2-system-overview">2. System Overview</h1>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2c7daca2-4306-49be-94dc-a2aebcef4ca8/image.png" alt=""></p>
<ul>
<li>이 추천시스템에는 크게 2가지 Neural Network로 구성되어있다.<ul>
<li>Candidate Generation<ul>
<li>유저의 유튜브 활동 이력을 가지고 소수의(수백여개) 정도의 비디오를 예측</li>
<li>높은 Precision으로 유저의 일반적인 연관성을 의도</li>
<li>협업 필터링을 통해 제공</li>
<li>시청한 영상 ID, 검색 토큰, demographics 등의 user feature 사용</li>
</ul>
</li>
<li>Ranking<ul>
<li>소수의 (수백여개) 영상들 중 score를 매겨서 사용자가 “가장” 좋아할 극소수의 영상(몇 십 개)들을 추천함</li>
</ul>
</li>
<li>Offline 평가와 Online 평가 모두 진행<ul>
<li>Offline 평가 : Precision, Recall, ranking loss, etc.</li>
<li>Online 평가 : live A/B testing</li>
</ul>
</li>
</ul>
</li>
</ul>
<blockquote>
<h1 id="3-candidate-generation">3. Candidate Generation</h1>
</blockquote>
<ul>
<li>접근 방식 : nonlinear generalization of factorization(분해) techniques.</li>
</ul>
<h2 id="31-recommendation-as-classification">3.1. Recommendation as Classification</h2>
<ul>
<li>추천 task에 대해서 multi - class classification task로 치환함</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/93a71377-9b46-437a-ac0b-8252a729c2d0/image.png" alt=""></p>
<ul>
<li>유저 $U$와 context $C$가 주어졌을 때, $t$ 시각의 비디어 시청 내역인 $w_t$가 전체 비디오 집합 $V$ 중 i번째 비디오일 확률 →  유저 및 상황(context)의 임베딩(u)과 비디오 임베딩(v)의 softmax로 정의</li>
<li>유저가 비디오를 끝까지 보면 positive 데이터로 처리<ul>
<li>explicit 피드백은 너무 sparse해서 implicit 피드백을 활용함</li>
</ul>
</li>
<li>negative sampling<ul>
<li>전체 negative에 softmax하는 것보다 100배 이상 빠름</li>
<li>hierarchical softmax도 시도해볼 수 있지만, accuracy가 떨어짐</li>
</ul>
</li>
<li>실제 모델 서빙 시에는 top N개 클래스(비디오들)만 찾으면 되기에, softmax까지 계산하지 않고 내적(dot product) 값만 비교함 (이 내적 공간에서 가장 가까운 item 찾음)</li>
</ul>
<h2 id="32-model-architecture">3.2. Model Architecture</h2>
<ul>
<li>사용자의 시청 이력과 검색기록에 대해서 각 비디오의 dense(밀집된) 임베딩 평균으로 표현</li>
<li>사용자의 영상 시청 이력과 다른 feature들을 concat하여 tower 구조의 여러 ReLU layer를 통과</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/dc949cd6-ed65-4dba-99b4-ebc43eadc564/image.png" alt=""></p>
<h2 id="33-heterogeneous-signals">3.3. Heterogeneous Signals</h2>
<ul>
<li>DNN 사용하는 주요 이점 → 연속형, 범주형 feature들을 쉽게 추가할 수 있다.</li>
<li>Search query는 각각 unigram 및 bigram으로 토큰화(임베딩 평균)</li>
<li>사용자의 지리적 지역과 디바이스 임베딩</li>
<li>사용자의 성별, 로그인 여부, 나이를 input으로 [0,1] 사이로 정규화시킨 값으로 나타냄<ul>
<li>이러한 유저의 인구통계학적 피쳐는 정보가 많이 없는 새로운 유저에게 추천해줄 때 필요함</li>
</ul>
</li>
<li><strong>“Example Age” Feature</strong><ul>
<li>영상이 업로드된 시간에 따라 인기도가 크게 변함.</li>
<li>따라서 이를 반영하기 위해 “Example Age” feature 추가</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/f6882a68-c0a6-4445-a17e-108fcb1b837c/image.png" alt=""></p>
<ul>
<li>Baseline은 모든 시간의 시청 확률 평균을 예측하고 있음</li>
<li>그러나 해당 feature를 추가한 모델은 업로드 직후 인기도가 높아지고, 이후 다시 낮아지는 경향을 잘 반영하고 있음</li>
</ul>
<h2 id="34-label-and-context-selection">3.4. Label and Context Selection</h2>
<ul>
<li><p>추천 → “surrogate problem”</p>
<ul>
<li>복잡하고 어려운 원본 문제를 더욱 간단하거나 다루기 쉬운 문제로 대체하여 해결하고자 함</li>
</ul>
</li>
<li><p>A/B 테스트 성과에 대해 online 실험은 괜찮지만, offline 실험으로는 성과를 정확히 알기 어렵다.</p>
</li>
<li><p>A/B test 성과를 올리는데 도움을 준 요소들</p>
<ol>
<li><p>유튜브 추천 탭이 아닌 다른 부분에서 시청한 영상을 반영해 새로운 추천 결과 만들기</p>
</li>
<li><p>유저마다 고정된 수의 학습 데이터 생성</p>
<ol>
<li>일관성 있는 경험 제공 (모든 유저 loss function 동등하게 반영)</li>
<li>소수의 헤비 유저(영상을 이것저것 많이 보는)가 loss function 지배하는 상황 방지</li>
</ol>
</li>
<li><p>특정 정보는 모델 반영하지 않기</p>
<ol>
<li>유저 검색 이력의 순서 → 모델에 알려주지 않는 것 유리</li>
<li>검색어는 순서 없이 bag of tokens 방식으로 처리</li>
</ol>
</li>
<li><p>랜덤하게 추출한 시청 이력이 아닌, 주어진 시청 이력의 다음 시청 이력 예측하기</p>
<ul>
<li>시청 이력은 비대칭적<ul>
<li>ex. 시리즈 영상은 순서대로 시청, 유명한 가수부터 시작해 해당 장르의 인디 가수 영상순으로 시청 등</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/53728a24-383b-40e4-9096-fac272aea901/image.png" alt=""></p>
</li>
</ol>
</li>
</ul>
<h2 id="35-experiments-with-features-and-depth">3.5. Experiments with Features and Depth</h2>
<ul>
<li>feature와 Depth 추가하는 것 모델 성능 향상 도움(Precision)</li>
<li>실험<ul>
<li>1M videos 와 1M search tokens → 256차원의 임베딩으로 매핑<ul>
<li>최대 유저별 최근에 본 비디오 50개, 최근에 검색한 검색어 50개로 한정</li>
</ul>
</li>
<li>softmax layer : 다항 분포형태로 1M개의 비디오 클래스에 대해 256차원으로 출력</li>
<li>ReLU → 첫 layer 가장 넓고, 다음 layer부터 절반씩 줄여가는 tower 구조</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/37d143dd-265f-4be3-be37-0cd1d148e974/image.png" alt=""></p>
<blockquote>
<h1 id="4-ranking">4. Ranking</h1>
</blockquote>
<p><em>앞선 과정에서 생성한 후보군(높은 확률로 클릭할) 영상들을 모두 볼 수도 있지만, 특정 썸네일에 따라 안 누를 수도 있기에, 랭킹모델을 통해 수십개로 줄임</em></p>
<ul>
<li>Ranking 모델 부분에서는 오직 수백개 정도의 비디오 영상만을 다루기 때문에, 더 많은 feature들 활용 가능</li>
<li>서로 다른 Candidate Generation 모델의 결과물을 앙상블할 때 Ranking 모델을 활용가능</li>
<li>logistic regression으로 노출(impression) 대비 시청 시간을 예측하고, 이 점수대로 정렬<ul>
<li>클릭률을 예측하면 낚시성 영상을 많이 추천하게 되어, 클릭이 아닌 시청 시간을 예측</li>
</ul>
</li>
</ul>
<h2 id="41-feature-representation">4.1. Feature Representation</h2>
<ul>
<li>현재 feature들은 categorical and continous / ordinal feature들로 구성되어 있다.<ul>
<li>univalent categorical feature : video ID</li>
<li>multivalent feature : bag(집합) of the last N videos IDs</li>
</ul>
</li>
</ul>
<h3 id="411-feature-engineering">4.1.1. Feature Engineering</h3>
<ul>
<li>유저와 해당 비디오 또는 유사 비디오와의 과거 이력이 모델 일반화 능력에 도움<ul>
<li>예시 : 이 유저가 이 채널의 비디오를 몇 개나 보았는가? 유저가 이 주제에 대한 비디오를 언제 마지막으로 보았는가? 등</li>
</ul>
</li>
<li>Candidate Generation 모델의 결과를 피쳐로 사용하는 것도 좋음</li>
<li>과거 해당 비디오의 노출 빈도 피쳐도 “이탈(churn)” 개념을 학습하는 데 좋음<ul>
<li>최근에 유저에게 이 비디오가 추천되어 노출되었지만 시청하지 않았다면, 이 비디오를 더 이상 추천하지 않을 수 있다.</li>
</ul>
</li>
</ul>
<h3 id="412-embedding-categorical-features">4.1.2. Embedding Categorical Features</h3>
<ul>
<li><p>sparse한 범주형 feature들 → 각각 dense prepresentations 임베딩으로 매핑</p>
<ul>
<li>한 feature의 범주 개수 너무 많으면(cardinality가 너무 크면) top N개의 임베딩만 만들고, 이외에는 Out-of-vocabulary, zero 임베딩으로 처리</li>
</ul>
</li>
<li><p>범주형 피쳐의 임베딩 평균을 모델에 전달</p>
</li>
<li><p>같은 ID 범주형 feature는 같은 임베딩 공유, 그러나 임베딩이 전달된 layer는 다르므로 각 layer에서 같은 임베딩도 다르게 처리</p>
<ul>
<li><p>예시 :  32차원 공간에 임베딩된 100만 개의 ID는 2048개의 유닛을 가진 완전 연결 계층보다 7배 더 많은 파라미터를 가짐.</p>
</li>
<li><p>설명</p>
<ol>
<li><p>&quot;32차원 공간에 임베딩된 100만 개의 ID&quot;라는 표현은, 100만 개의 각기 다른 ID가 모두 32차원의 벡터로 변환되어 표현된다는 의미입니다. 즉, 각 ID는 32개의 값으로 구성된 벡터로 표현됩니다. <br></p>
<ol start="2">
<li><p>이때, 32차원 벡터로 표현된 100만 개의 ID를 모두 관리하려면, 많은 수의 파라미터가 필요합니다. 여기서 &quot;파라미터&quot;란 모델이 학습하는 동안 최적화되는 변수들을 말합니다. 이 경우, 각 차원마다 100만 개의 값을 가지므로 총 32백만 개의 파라미터가 필요합니다.</p>
</li>
<li><p>반면에, &quot;2048개의 유닛을 가진 완전 연결 계층&quot;은 각 유닛이 입력과 연결되어 있으며, 이 연결을 통해 데이터의 특성을 학습합니다. 완전 연결 계층에서는 유닛의 수에 비례하여 파라미터의 수가 결정됩니다. 따라서 2048개의 유닛을 가진 계층은 2048개의 파라미터를 가지게 됩니다.</p>
</li>
<li><p>이 비교에서, 32차원에 임베딩된 100만 개의 ID를 사용하는 것이 2048개의 유닛을 가진 완전 연결 계층보다 약 7배 더 많은 파라미터를 필요로 한다는 것을 알 수 있습니다.</p>
</li>
</ol>
</li>
</ol>
</li>
</ul>
</li>
</ul>
<aside>
💡 따라서 일반화 능력이 매우 뛰어나고 메모리적인 면에서도 이점을 가질 수 있다.

</aside>

<h3 id="413-normalizing-continuous-features">4.1.3. Normalizing Continuous Features</h3>
<ul>
<li>continuous feature들 적절히 정규화하는 것이 수렴에 매우 중요 !!</li>
<li>분포 $f$를 가진 연속 특성 $x$는 누적 분포를 사용하여 [0,1) 범위에 동등하게 분포되도록 값 scaling 진행 $\tilde{x}$로 정규화</li>
<li>정규화한 continuous featur들은 $x$뿐만 아니라, 이들의 제곱과 제곱근도 추가로 입력 사용</li>
</ul>
<h2 id="42-modeling-expected-watch-time">4.2. Modeling Expected Watch Time</h2>
<aside>
💡 목표 <br>
**positive든 negative 데이터든 데이터가 주어졌을 때, 시청 시간을 예측하는 것 !!** <br>


<ol>
<li>positive data : 유저에게 노출된 비디오가 클릭된 경우 <br></li>
<li>negative data : 유저에게 노출된 비디오가 클릭되지 않은 경우</aside>


</li>
</ol>
<ul>
<li>weighted logistic regression을 활용해 시청 시간을 예측함</li>
<li>Cross - Entropy loss 사용<ul>
<li>positive data : 시청 시간으로 weight 줌</li>
<li>negative data : 모두 unit weight 부여</li>
<li>따라서 logistic regression으로 학습되는 odds $\frac{\sum T_i}{N-k}$ 형태<ul>
<li>N : 학습 데이터 개수</li>
<li>k : positive data 개수</li>
<li>$T_i$ : i번째 데이터 시청 시간</li>
<li>positive 데이터 개수가 적다는 가정하에, 학습되는 odds → $E<a href="1+P">T</a>$에 근사</li>
<li>$P$ : 클릭 확률, $E[T]$ : 시청 시간의 기댓값</li>
<li>$P$ 값은 작으므로 이는 다시 $E[T]$에 근사하는 것과 같다.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jja_jja/post/2ca50bd8-341f-405d-9402-f5d7dac93ce0/image.png" alt=""></p>
<h3 id="43-experiments-with-hidden-layers">4.3. Experiments with Hidden Layers</h3>
<ul>
<li>만약 점수에 대해서 positive data &lt; negative data일 경우, positive 데이터의 시청 시간 만큼 틀린 것으로 간주(잘못 에측)</li>
<li>metric : 유저별 전체 시청 시간 대비, 틀린 시청 시간의 비율</li>
<li>hidden layer의 size 및 depth 증가시키면 성능 올라감</li>
<li>그러나 그만큼 inference에 사용되는 CPU(?) 시간 길어짐</li>
<li>정규화된 연속형 피쳐를 이 피쳐들의 제곱값 없이 쓰면 loss 0.2% 증가</li>
<li>positive, negative 데이터 똑같이 weight주면 loss 4.1% 증가</li>
</ul>
<blockquote>
<h1 id="5-conclusions">5. Conclusions</h1>
</blockquote>
<aside>
💡 유튜브의 추천 시스템 모델 구성(2개) <br>
1. Candidate Generation <br>
2. Ranking

<p>&lt;딥러닝 Collaborative Filtering을 사용하여 여러 이질적인 피쳐를 한 번에 반영 용이&gt;
&lt;Candidate Generation 부분에선 추천을 미래의 시청 내역 분류 과제로 치환&gt;
&lt;Ranking 부분에선 시청 시간 예측 과제를 수행&gt;</p>
</aside>]]></description>
        </item>
    </channel>
</rss>