<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Kim doing's Ai factory</title>
    <link>https://kimdoing-ai.tistory.com/</link>
    <description>Kim doing's Ai factory 입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 3 Jun 2026 06:33:39 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Kim doing </managingEditor>
    <item>
      <title>FAITHFUL EXPLANATIONS OF BLACK-BOX NLP MODELSUSING LLM-GENERATED COUNTERFACTUALS</title>
      <link>https://kimdoing-ai.tistory.com/4</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;To ensure the safe and trustworthy deployment of NLP models, it is essential to provide explanations that reflect the true reasoning behind a model&amp;rsquo;s predictions. Traditional explanation methods often rely on correlation rather than causation, which can result in misleading interpretations. This paper proposes two model-agnostic approaches for generating faithful explanations using counterfactual reasoning: (1) counterfactual generation via large language models (LLMs) that modify a specific concept in a text while preserving confounding variables, and (2) a more efficient matching-based approach that learns a causal embedding space using LLM-generated counterfactuals at training time. These methods aim to estimate the causal effect of high-level concepts on model predictions, offering faithful and generalizable insights into black-box models.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;256&quot; data-start=&quot;154&quot;&gt;NLP models are often black-boxes, making their internal decision-making processes hard to interpret.&lt;/li&gt;
&lt;li data-end=&quot;400&quot; data-start=&quot;257&quot;&gt;Traditional explanation methods (e.g., feature attribution, probing) mostly focus on what is encoded in the model, not what is actually used.&lt;/li&gt;
&lt;li data-end=&quot;518&quot; data-start=&quot;401&quot;&gt;This leads to &lt;b&gt;correlation-based&lt;/b&gt; explanations, which may not reflect the &lt;b&gt;true causal reasoning&lt;/b&gt; of the model.&lt;/li&gt;
&lt;li data-end=&quot;642&quot; data-start=&quot;519&quot;&gt;Counterfactual explanations&amp;mdash;how the output changes when a concept is altered&amp;mdash;offer a more &lt;b&gt;causally grounded&lt;/b&gt; approach.&lt;/li&gt;
&lt;li data-end=&quot;796&quot; data-start=&quot;643&quot;&gt;However, previous counterfactual generation methods were limited by:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;796&quot; data-start=&quot;716&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;767&quot; data-start=&quot;716&quot;&gt;Simplistic local editing (e.g., word replacement)&lt;/li&gt;
&lt;li data-end=&quot;796&quot; data-start=&quot;770&quot;&gt;Costly manual annotation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;999&quot; data-start=&quot;797&quot;&gt;Large Language Models (LLMs) can overcome these limitations by:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;999&quot; data-start=&quot;865&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;865&quot;&gt;Generating high-quality counterfactuals&lt;/li&gt;
&lt;li data-end=&quot;999&quot; data-start=&quot;909&quot;&gt;Enabling &lt;b&gt;model-agnostic&lt;/b&gt; explanation methods that are both &lt;b&gt;faithful and efficient&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Method&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. MODEL EXPLANATION WITH COUNTERFACTUALS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;327&quot; data-start=&quot;203&quot;&gt;The goal of this method is to &lt;b&gt;explain black-box NLP models&lt;/b&gt; by estimating the &lt;b&gt;causal effect of high-level concepts&lt;/b&gt; (like &quot;ambiance&quot; or &quot;service&quot;) on a model&amp;rsquo;s prediction.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biirql/btsNjLVmGeb/8tj7XjgHAR6ii27SbHhKfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biirql/btsNjLVmGeb/8tj7XjgHAR6ii27SbHhKfk/img.png&quot; data-alt=&quot;These equations define the average (CaCE) and individual (ICaCE) causal impact of changing a concept in the data generating process.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biirql/btsNjLVmGeb/8tj7XjgHAR6ii27SbHhKfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbiirql%2FbtsNjLVmGeb%2F8tj7XjgHAR6ii27SbHhKfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;540&quot; height=&quot;55&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;These equations define the average (CaCE) and individual (ICaCE) causal impact of changing a concept in the data generating process.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;The method assumes access to a causal graph (not the full DGP), representing relationships among variables like concepts, text, and prediction.&lt;/li&gt;
&lt;li&gt;Since &lt;b&gt;true counterfactuals are not available&lt;/b&gt;, the model uses &lt;b&gt;approximated counterfactuals&lt;/b&gt; to estimate the causal effect.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JZGxK/btsNkJbsFZU/S5zsLIl7qwNaqfJi06oM4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JZGxK/btsNkJbsFZU/S5zsLIl7qwNaqfJi06oM4K/img.png&quot; data-alt=&quot;These equations show how to estimate causal effects using approximate counterfactuals. 
ICaCE is the difference between the prediction for the counterfactual and the original input. 
CaCE is the average of these differences across multiple examples.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JZGxK/btsNkJbsFZU/S5zsLIl7qwNaqfJi06oM4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJZGxK%2FbtsNkJbsFZU%2FS5zsLIl7qwNaqfJi06oM4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;686&quot; height=&quot;106&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;These equations show how to estimate causal effects using approximate counterfactuals. 
ICaCE is the difference between the prediction for the counterfactual and the original input. 
CaCE is the average of these differences across multiple examples.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;To improve robustness, the model employs Top-K counterfactual matching, averaging over the K most similar matched texts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eq3bYD/btsNknsL4SW/GkFvdjxJJBWsJPcGco7EkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eq3bYD/btsNknsL4SW/GkFvdjxJJBWsJPcGco7EkK/img.png&quot; data-alt=&quot;This equation uses Top-K matching , averaging the causal effects over the K most similar counterfactuals. 
It helps make the explanation more stable and reliable.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eq3bYD/btsNknsL4SW/GkFvdjxJJBWsJPcGco7EkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feq3bYD%2FbtsNknsL4SW%2FGkFvdjxJJBWsJPcGco7EkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;404&quot; height=&quot;80&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;This equation uses Top-K matching , averaging the causal effects over the K most similar counterfactuals. 
It helps make the explanation more stable and reliable.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This equation uses &lt;b&gt;Top-K matching&lt;/b&gt;, averaging the causal effects over the K most similar counterfactuals.&lt;br /&gt;It helps make the explanation more stable and reliable.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. COUNTERFACTUALS AS AN IDEAL MODEL EXPLANATION&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;374&quot; data-start=&quot;256&quot;&gt;A &lt;b&gt;faithful explanation&lt;/b&gt; should reflect how the model actually makes its decisions&amp;mdash;not just what it has learned.&lt;/li&gt;
&lt;li data-end=&quot;560&quot; data-start=&quot;378&quot;&gt;Many existing explanation methods focus on &lt;b&gt;what features are encoded&lt;/b&gt;, not &lt;b&gt;what features are used&lt;/b&gt; in predictions, leading to &lt;b&gt;correlation-based (not causal)&lt;/b&gt; explanations.&lt;/li&gt;
&lt;li data-end=&quot;720&quot; data-start=&quot;562&quot;&gt;&lt;b&gt;Counterfactual explanations&lt;/b&gt; directly show why a prediction was made by answering:&lt;br /&gt;&amp;ldquo;What would the model predict if this concept were different?&amp;rdquo;&lt;/li&gt;
&lt;li data-end=&quot;720&quot; data-start=&quot;562&quot;&gt;The authors introduce a key property:&lt;br /&gt;&lt;b&gt;Order-Faithfulness&lt;/b&gt;:&lt;/li&gt;
&lt;li data-end=&quot;986&quot; data-start=&quot;797&quot;&gt;If an explanation method says concept A has more impact than concept B, the actual causal effect of A should be higher than B.&lt;br /&gt;(This ensures the explanation ranks concepts correctly.)&lt;/li&gt;
&lt;li data-end=&quot;986&quot; data-start=&quot;797&quot;&gt;Formal definition of Order-Faithfulness:&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;39&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t6NKS/btsNi7Zc03s/qLQWd1MUcPhyOrENHSuzl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t6NKS/btsNi7Zc03s/qLQWd1MUcPhyOrENHSuzl1/img.png&quot; data-alt=&quot;This equation formally defines Order-Faithfulness . 
It means that if an explanation method ranks concept C1C_1C1​ as having more impact than C2C_2C2​ , 
then the true causal effect of C1C_1C1​ must be greater than that of C2C_2C2​ , and vice versa.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t6NKS/btsNi7Zc03s/qLQWd1MUcPhyOrENHSuzl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft6NKS%2FbtsNi7Zc03s%2FqLQWd1MUcPhyOrENHSuzl1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;645&quot; height=&quot;39&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;39&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;This equation formally defines Order-Faithfulness . 
It means that if an explanation method ranks concept C1C_1C1​ as having more impact than C2C_2C2​ , 
then the true causal effect of C1C_1C1​ must be greater than that of C2C_2C2​ , and vice versa.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1320&quot; data-start=&quot;1196&quot;&gt;Counterfactual-based methods (like the one proposed) &lt;b&gt;satisfy Order-Faithfulness&lt;/b&gt;, while many non-causal methods do not.&lt;/li&gt;
&lt;li data-end=&quot;1471&quot; data-start=&quot;1322&quot;&gt;Therefore, &lt;b&gt;counterfactuals are ideal for faithful explanations&lt;/b&gt;, especially in tasks like model comparison, fairness analysis, and debugging.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3.LLM-GENERATED COUNTERFACTUALS&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;246&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;414&quot; data-start=&quot;246&quot;&gt;This section introduces the first method for approximating counterfactuals:&lt;br /&gt;-&amp;gt;&lt;b&gt;Generating counterfactuals using a Large Language Model (LLM)&lt;/b&gt;, such as ChatGPT.&lt;/li&gt;
&lt;li data-end=&quot;634&quot; data-start=&quot;416&quot;&gt;Given a &lt;b&gt;causal graph&lt;/b&gt; and an &lt;b&gt;intervention&lt;/b&gt; (e.g., changing &amp;ldquo;service&amp;rdquo; from bad &amp;rarr; good), the LLM is prompted to rewrite the input text by modifying only the &lt;b&gt;target concept&lt;/b&gt; while keeping other variables fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Original: &quot;Great pizza and vibe, but the waiter was rude.&quot;&lt;br /&gt;Counterfactual: &quot;Great pizza and vibe, and the waiter was friendly.&quot;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;246&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;829&quot; data-start=&quot;636&quot;&gt;This is achieved by:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;829&quot; data-start=&quot;661&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;741&quot; data-start=&quot;661&quot;&gt;Identifying &lt;b&gt;confounders&lt;/b&gt; using the &lt;b&gt;back-door criterion&lt;/b&gt; (adjustment set)&lt;/li&gt;
&lt;li data-end=&quot;829&quot; data-start=&quot;744&quot;&gt;Avoiding changes to &lt;b&gt;mediators&lt;/b&gt; and &lt;b&gt;colliders&lt;/b&gt;, which could distort the effect,&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dJI3kg/btsNgxYeqXc/JFJTJhpzXWTISdDk2vO8Jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dJI3kg/btsNgxYeqXc/JFJTJhpzXWTISdDk2vO8Jk/img.png&quot; data-alt=&quot;Figure 1 shows the causal graph used in the CEBaB dataset. 
It illustrates how four high-level concepts&amp;amp;mdash; Food (F) , Service (S) , Ambiance (A) , and Noise (N) &amp;amp;mdash; 
affect both the text (X) and the rating prediction (Y) . 
The model fff predicts YYY using only the text XXX . 
This graph helps determine which variables should be changed or held fixed when generating counterfactuals.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dJI3kg/btsNgxYeqXc/JFJTJhpzXWTISdDk2vO8Jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJI3kg%2FbtsNgxYeqXc%2FJFJTJhpzXWTISdDk2vO8Jk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;238&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Figure 1 shows the causal graph used in the CEBaB dataset. 
It illustrates how four high-level concepts&amp;mdash; Food (F) , Service (S) , Ambiance (A) , and Noise (N) &amp;mdash; 
affect both the text (X) and the rating prediction (Y) . 
The model fff predicts YYY using only the text XXX . 
This graph helps determine which variables should be changed or held fixed when generating counterfactuals.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;246&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1061&quot; data-start=&quot;831&quot;&gt;For &lt;b&gt;direct causal effect&lt;/b&gt;, the prompt asks the LLM to change the target concept but &lt;b&gt;keep confounders and mediators fixed &lt;/b&gt;&amp;nbsp;For &lt;b&gt;total causal effect&lt;/b&gt;, &lt;b&gt;mediators are allowed to change&lt;/b&gt; based on the intervention&lt;/li&gt;
&lt;li data-end=&quot;1207&quot; data-start=&quot;1063&quot;&gt;To improve precision, the LLM prompt can also include:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1207&quot; data-start=&quot;1122&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1148&quot; data-start=&quot;1122&quot;&gt;Which concepts to change&lt;/li&gt;
&lt;li data-end=&quot;1184&quot; data-start=&quot;1151&quot;&gt;Which concepts to hold constant&lt;/li&gt;
&lt;li data-end=&quot;1207&quot; data-start=&quot;1187&quot;&gt;The causal context&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1345&quot; data-start=&quot;1209&quot;&gt;Multiple counterfactuals can be generated using &lt;b&gt;Top-K sampling&lt;/b&gt;&lt;br /&gt;&amp;rarr; This supports more robust estimation by reducing variability.&lt;/li&gt;
&lt;li data-end=&quot;1549&quot; data-start=&quot;1347&quot;&gt;&lt;b&gt;Limitation&lt;/b&gt;: While effective, LLM-based generation is:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;1409&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1445&quot; data-start=&quot;1409&quot;&gt;&lt;b&gt;Slow (autoregressive decoding)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1481&quot; data-start=&quot;1448&quot;&gt;&lt;b&gt;Costly (requires API calls)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1549&quot; data-start=&quot;1484&quot;&gt;&lt;b&gt;Potentially restricted&lt;/b&gt; by privacy or deployment constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4.CAUSAL REPRESENTATION LEARNING FOR MATCHING&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;450&quot; data-start=&quot;269&quot;&gt;This section presents the second method for counterfactual approximation:&lt;br /&gt;&lt;b&gt;Matching&lt;/b&gt;, which finds similar real examples instead of generating counterfactuals with an LLM.&lt;/li&gt;
&lt;li data-end=&quot;640&quot; data-start=&quot;452&quot;&gt;The idea is to build a &lt;b&gt;causal embedding space&lt;/b&gt;, where:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;640&quot; data-start=&quot;514&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;586&quot; data-start=&quot;514&quot;&gt;Valid counterfactuals and matched examples are &lt;b&gt;close&lt;/b&gt; to the input,&lt;/li&gt;
&lt;li data-end=&quot;640&quot; data-start=&quot;589&quot;&gt;Invalid or irrelevant examples are &lt;b&gt;far apart&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;754&quot; data-start=&quot;642&quot;&gt;To achieve this, the model uses a &lt;b&gt;learned text encoder&lt;/b&gt; &lt;span&gt;&lt;span&gt;ϕ(&amp;sdot;)&lt;/span&gt;&lt;/span&gt;&amp;nbsp;(e.g., RoBERTa or Sentence-BERT).&lt;/li&gt;
&lt;li data-end=&quot;1027&quot; data-start=&quot;756&quot;&gt;Given an input &lt;span&gt;&lt;span&gt;xt&lt;/span&gt;&lt;/span&gt;&amp;nbsp;the model searches in a &lt;b&gt;control group&lt;/b&gt; (where the concept value is &lt;span&gt;&lt;span&gt;t&amp;prime;&lt;/span&gt;&lt;/span&gt;)&lt;br /&gt;to find the best match &lt;span&gt;&lt;span&gt;x&amp;prime;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;46&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JdkN0/btsNiH7PoZC/vge4jKMlRGzZhZKPv6d9Sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JdkN0/btsNiH7PoZC/vge4jKMlRGzZhZKPv6d9Sk/img.png&quot; data-alt=&quot;Matching objective&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JdkN0/btsNiH7PoZC/vge4jKMlRGzZhZKPv6d9Sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJdkN0%2FbtsNiH7PoZC%2Fvge4jKMlRGzZhZKPv6d9Sk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;297&quot; height=&quot;48&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;46&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Matching objective&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;The similarity function &lt;span&gt;&lt;span&gt;s(&amp;sdot;,&amp;sdot;)&lt;/span&gt;&lt;/span&gt;&amp;nbsp;is &lt;b&gt;cosine similarity&lt;/b&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;309&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Zhqd/btsNkKanUzz/27FKXLd5fKdjQ67l91icZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Zhqd/btsNkKanUzz/27FKXLd5fKdjQ67l91icZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Zhqd/btsNkKanUzz/27FKXLd5fKdjQ67l91icZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Zhqd%2FbtsNkKanUzz%2F27FKXLd5fKdjQ67l91icZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;309&quot; height=&quot;76&quot; data-origin-width=&quot;309&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1432&quot; data-start=&quot;1258&quot;&gt;The encoder is trained using &lt;b&gt;contrastive loss&lt;/b&gt; that:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1432&quot; data-start=&quot;1318&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1378&quot; data-start=&quot;1318&quot;&gt;&lt;b&gt;Pulls&lt;/b&gt; together true counterfactuals and valid matches,&lt;/li&gt;
&lt;li data-end=&quot;1432&quot; data-start=&quot;1381&quot;&gt;&lt;b&gt;Pushes&lt;/b&gt; apart misspecified or invalid samples.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1698&quot; data-start=&quot;1434&quot;&gt;Training uses four sets:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1698&quot; data-start=&quot;1463&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1515&quot; data-start=&quot;1463&quot;&gt;&lt;span&gt;&lt;span&gt;XC&lt;/span&gt;&lt;/span&gt;: LLM-generated counterfactuals&lt;/li&gt;
&lt;li data-end=&quot;1563&quot; data-start=&quot;1518&quot;&gt;&lt;span&gt;&lt;span&gt;XM&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: valid matches (same confounders)&lt;/li&gt;
&lt;li data-end=&quot;1637&quot; data-start=&quot;1566&quot;&gt;&lt;span&gt;&lt;span&gt;X&amp;not;CF&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: counterfactuals from the wrong intervention&lt;/li&gt;
&lt;li data-end=&quot;1698&quot; data-start=&quot;1640&quot;&gt;&lt;span&gt;&lt;span&gt;X&amp;not;M&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: mismatched samples (wrong confounders)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1843&quot; data-start=&quot;1700&quot;&gt;After training, inference is very efficient&amp;mdash;just a &lt;b&gt;similarity search&lt;/b&gt;, no generation.&lt;br /&gt;It&amp;rsquo;s up to &lt;b&gt;1000&amp;times; faster&lt;/b&gt; than LLM generation.&lt;/li&gt;
&lt;li data-end=&quot;1843&quot; data-start=&quot;1700&quot;&gt;To train the encoder &lt;span&gt;&lt;span&gt;ϕ(x)&lt;/span&gt;&lt;/span&gt;, the model uses a &lt;b&gt;contrastive loss&lt;/b&gt;,&lt;br /&gt;which makes the representation of a query example &lt;b&gt;closer to positive examples&lt;/b&gt; (true counterfactuals or valid matches) and &lt;b&gt;farther from negative ones&lt;/b&gt; (misspecified or invalid examples).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CT9W1/btsNhrDclrp/11u5rTlavYY9kPTkyFRUE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CT9W1/btsNhrDclrp/11u5rTlavYY9kPTkyFRUE1/img.png&quot; data-alt=&quot;Contrastive loss function&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CT9W1/btsNhrDclrp/11u5rTlavYY9kPTkyFRUE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCT9W1%2FbtsNhrDclrp%2F11u5rTlavYY9kPTkyFRUE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;88&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;88&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Contrastive loss function&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;848&quot; data-start=&quot;842&quot; data-ke-size=&quot;size16&quot;&gt;Where:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1098&quot; data-start=&quot;851&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;875&quot; data-start=&quot;851&quot;&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;/span&gt;: query example&lt;/li&gt;
&lt;li data-end=&quot;942&quot; data-start=&quot;878&quot;&gt;&lt;span&gt;&lt;span&gt;X+&lt;/span&gt;&lt;/span&gt;: positive set (e.g., counterfactuals, valid matches)&lt;/li&gt;
&lt;li data-end=&quot;1026&quot; data-start=&quot;945&quot;&gt;&lt;span&gt;&lt;span&gt;X&amp;minus;&lt;/span&gt;&lt;/span&gt;: negative set (e.g., misspecified counterfactuals or invalid matches)&lt;/li&gt;
&lt;li data-end=&quot;1098&quot; data-start=&quot;1029&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;tau;&lt;/span&gt;&lt;/span&gt;: temperature hyperparameter (controls softmax sharpness)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xyhGh/btsNjF2a5i0/gxg5QpVtpttTVOh4WJNOj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xyhGh/btsNjF2a5i0/gxg5QpVtpttTVOh4WJNOj1/img.png&quot; data-alt=&quot;Final loss&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xyhGh/btsNjF2a5i0/gxg5QpVtpttTVOh4WJNOj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxyhGh%2FbtsNjF2a5i0%2Fgxg5QpVtpttTVOh4WJNOj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;70&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Final loss&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;1435&quot; data-start=&quot;1400&quot; data-ke-size=&quot;size16&quot;&gt;This complete objective encourages:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1561&quot; data-start=&quot;1438&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1479&quot; data-start=&quot;1438&quot;&gt;Similarity with correct CFs and matches&lt;/li&gt;
&lt;li data-end=&quot;1517&quot; data-start=&quot;1482&quot;&gt;Dissimilarity with incorrect ones&lt;/li&gt;
&lt;li data-end=&quot;1561&quot; data-start=&quot;1520&quot;&gt;Robustness across varied candidate sets&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;training precedure&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1745&quot; data-start=&quot;1604&quot;&gt;Step 1: Prepare training set with concept annotations&lt;br /&gt;(or predict concept values using a zero-shot LLM if human labels are unavailable)&lt;/li&gt;
&lt;li data-end=&quot;1870&quot; data-start=&quot;1747&quot;&gt;Step 2: For each example &lt;span&gt;&lt;span&gt;xtx_t&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, construct the four sets:&lt;span&gt;&lt;span&gt;XCF,XM,X&amp;not;CF,X&amp;not;M&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1951&quot; data-start=&quot;1872&quot;&gt;Step 3: Sample one example from each set and compute the loss in Equation (8)&lt;/li&gt;
&lt;li data-end=&quot;2033&quot; data-start=&quot;1953&quot;&gt;Step 4: Train the encoder (e.g., RoBERTa or Sentence-BERT) for multiple epochs&lt;/li&gt;
&lt;li data-end=&quot;2096&quot; data-start=&quot;2035&quot;&gt;Step 5: Select the best checkpoint based on validation loss&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; EXPERIMENTAL SETUP&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-Benchmark Dataset: &lt;b&gt;CEBaB&lt;/b&gt; (Causal Estimation-Based Benchmark)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;632&quot; data-start=&quot;216&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;289&quot; data-start=&quot;216&quot;&gt;A high-quality benchmark for evaluating &lt;b&gt;causal explanations in NLP&lt;/b&gt;.&lt;/li&gt;
&lt;li data-end=&quot;330&quot; data-start=&quot;290&quot;&gt;Based on OpenTable restaurant reviews.&lt;/li&gt;
&lt;li data-end=&quot;632&quot; data-start=&quot;331&quot;&gt;For each original review:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;632&quot; data-start=&quot;361&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;472&quot; data-start=&quot;361&quot;&gt;Human annotators rewrote it with a &lt;b&gt;counterfactual edit&lt;/b&gt; (e.g., change &amp;ldquo;service&amp;rdquo; from negative &amp;rarr; positive).&lt;/li&gt;
&lt;li data-end=&quot;632&quot; data-start=&quot;475&quot;&gt;Each version received a &lt;b&gt;5-star sentiment rating&lt;/b&gt; and concept-level annotations for:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;632&quot; data-start=&quot;568&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;632&quot; data-start=&quot;568&quot;&gt;&lt;b&gt;Food (F)&lt;/b&gt;, &lt;b&gt;Service (S)&lt;/b&gt;, &lt;b&gt;Ambiance (A)&lt;/b&gt;, &lt;b&gt;Noise (N)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-end=&quot;764&quot; data-start=&quot;634&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;651&quot; data-start=&quot;636&quot; data-ke-size=&quot;size16&quot;&gt;Total examples:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;764&quot; data-start=&quot;654&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;729&quot; data-start=&quot;654&quot;&gt;Train (exclusive): 1,463 (split in half: 731 train / 732 candidate set)&lt;/li&gt;
&lt;li data-end=&quot;746&quot; data-start=&quot;732&quot;&gt;Dev: 1,672&lt;/li&gt;
&lt;li data-end=&quot;764&quot; data-start=&quot;749&quot;&gt;Test: 1,688&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-Evaluation Pipeline&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1113&quot; data-start=&quot;799&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1023&quot; data-start=&quot;799&quot;&gt;For each input example &lt;span&gt;&lt;span&gt;xtx_t&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, and intervention &lt;span&gt;&lt;span&gt;T:t&amp;rarr;t&amp;prime;&lt;/span&gt;&lt;/span&gt;, the method estimates &lt;b&gt;ICaCE&lt;/b&gt; using:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1023&quot; data-start=&quot;920&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;978&quot; data-start=&quot;920&quot;&gt;The &lt;b&gt;approximated counterfactual&lt;/b&gt; &lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;~&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;prime;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1023&quot; data-start=&quot;981&quot;&gt;Or, the &lt;b&gt;matched example&lt;/b&gt; &lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;m&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1113&quot; data-start=&quot;1024&quot;&gt;This is compared to a &lt;b&gt;ground-truth counterfactual&lt;/b&gt; written by humans: &lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;prime;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1113&quot; data-start=&quot;1024&quot;&gt;The error is calculated as the distance between:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;356&quot; data-origin-height=&quot;61&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q6xi8/btsNjCYFc4i/beuijrzy9Ai1SvqStSUEkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q6xi8/btsNjCYFc4i/beuijrzy9Ai1SvqStSUEkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q6xi8/btsNjCYFc4i/beuijrzy9Ai1SvqStSUEkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq6xi8%2FbtsNjCYFc4i%2Fbeuijrzy9Ai1SvqStSUEkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;397&quot; height=&quot;68&quot; data-origin-width=&quot;356&quot; data-origin-height=&quot;61&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-Evaluation Metrics (3 types of distance)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. L2 Distance&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;63&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/V3HnI/btsNi5ty2Ja/YUIkoPdHMvJKhNYUjSwrL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/V3HnI/btsNi5ty2Ja/YUIkoPdHMvJKhNYUjSwrL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/V3HnI/btsNi5ty2Ja/YUIkoPdHMvJKhNYUjSwrL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FV3HnI%2FbtsNi5ty2Ja%2FYUIkoPdHMvJKhNYUjSwrL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;235&quot; height=&quot;63&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;63&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Cosine Distance&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;64&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnG5nT/btsNg75ZOT1/uiKr0IUlJKBg8err3FwpT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnG5nT/btsNg75ZOT1/uiKr0IUlJKBg8err3FwpT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnG5nT/btsNg75ZOT1/uiKr0IUlJKBg8err3FwpT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnG5nT%2FbtsNg75ZOT1%2FuiKr0IUlJKBg8err3FwpT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;259&quot; height=&quot;64&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;64&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Norm Difference (ND)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;53&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0PmI9/btsNjCj4dMd/87GKFU6KfndoCrfziaShEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0PmI9/btsNjCj4dMd/87GKFU6KfndoCrfziaShEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0PmI9/btsNjCj4dMd/87GKFU6KfndoCrfziaShEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0PmI9%2FbtsNjCj4dMd%2F87GKFU6KfndoCrfziaShEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;259&quot; height=&quot;53&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;53&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;Final score = average error over 24 interventions (4 concepts &amp;times; 6 value changes)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-Models Explained&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1818&quot; data-start=&quot;1720&quot;&gt;&lt;b&gt;Three fine-tuned models&lt;/b&gt; for 5-star sentiment prediction:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1818&quot; data-start=&quot;1785&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1797&quot; data-start=&quot;1785&quot;&gt;DistilBERT&lt;/li&gt;
&lt;li data-end=&quot;1806&quot; data-start=&quot;1800&quot;&gt;BERT&lt;/li&gt;
&lt;li data-end=&quot;1818&quot; data-start=&quot;1809&quot;&gt;RoBERTa&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1875&quot; data-start=&quot;1819&quot;&gt;&lt;b&gt;Two zero-shot LLMs&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1875&quot; data-start=&quot;1847&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1859&quot; data-start=&quot;1847&quot;&gt;LLaMA-2 7B&lt;/li&gt;
&lt;li data-end=&quot;1875&quot; data-start=&quot;1862&quot;&gt;LLaMA-2 13B&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-Explanation Methods Compared&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1945&quot; data-start=&quot;1919&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Generative methods&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2002&quot; data-start=&quot;1946&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1971&quot; data-start=&quot;1946&quot;&gt;Zero-shot LLM (ChatGPT)&lt;/li&gt;
&lt;li data-end=&quot;1986&quot; data-start=&quot;1972&quot;&gt;Few-shot LLM&lt;/li&gt;
&lt;li data-end=&quot;2002&quot; data-start=&quot;1987&quot;&gt;Fine-tuned T5&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2028&quot; data-start=&quot;2004&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Matching methods&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2191&quot; data-start=&quot;2029&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2043&quot; data-start=&quot;2029&quot;&gt;Random Match&lt;/li&gt;
&lt;li data-end=&quot;2071&quot; data-start=&quot;2044&quot;&gt;Propensity Score Matching&lt;/li&gt;
&lt;li data-end=&quot;2102&quot; data-start=&quot;2072&quot;&gt;Approx (baseline from CEBaB)&lt;/li&gt;
&lt;li data-end=&quot;2141&quot; data-start=&quot;2103&quot;&gt;Pretrained RoBERTa &amp;amp; S-BERT matching&lt;/li&gt;
&lt;li data-end=&quot;2191&quot; data-start=&quot;2142&quot;&gt;Our proposed &lt;b&gt;Causal Representation Matching&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RESULTS&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SLD7p/btsNkOKqMpr/FK1UhEx9idJGKDYl6VwdZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SLD7p/btsNkOKqMpr/FK1UhEx9idJGKDYl6VwdZ1/img.png&quot; data-alt=&quot;Table 1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SLD7p/btsNkOKqMpr/FK1UhEx9idJGKDYl6VwdZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSLD7p%2FbtsNkOKqMpr%2FFK1UhEx9idJGKDYl6VwdZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;445&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Table 1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1313&quot; data-start=&quot;613&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;819&quot; data-start=&quot;613&quot;&gt;&lt;b&gt;LLM-generated counterfactuals = SOTA explainers&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;819&quot; data-start=&quot;673&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;734&quot; data-start=&quot;673&quot;&gt;Fine-tuned T5 shows best results among generative methods&lt;/li&gt;
&lt;li data-end=&quot;762&quot; data-start=&quot;738&quot;&gt;Few-shot &amp;gt; Zero-shot&lt;/li&gt;
&lt;li data-end=&quot;819&quot; data-start=&quot;766&quot;&gt;But LLM generation is slow &amp;amp; expensive at inference&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1123&quot; data-start=&quot;821&quot;&gt;&lt;b&gt;Our causal matching model outperforms all other matching methods&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1123&quot; data-start=&quot;898&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;990&quot; data-start=&quot;898&quot;&gt;Performs better than Approx (CEBaB baseline) and pretrained matching with RoBERTa/S-BERT&lt;/li&gt;
&lt;li data-end=&quot;1123&quot; data-start=&quot;994&quot;&gt;When using &lt;b&gt;ground-truth CFs in the candidate set&lt;/b&gt;, our causal model even beats generative methods (see first row in Table 1)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1313&quot; data-start=&quot;1125&quot;&gt;&lt;b&gt;Top-K matching universally improves all methods&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1313&quot; data-start=&quot;1185&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1241&quot; data-start=&quot;1185&quot;&gt;K = 10 significantly reduces error compared to K = 1&lt;/li&gt;
&lt;li data-end=&quot;1313&quot; data-start=&quot;1245&quot;&gt;Performance gains apply to both matching and generative approaches&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;DISCUSSION&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;392&quot; data-start=&quot;224&quot;&gt;&lt;b&gt;Faithful explanations require causality&lt;/b&gt;&lt;br /&gt;&amp;rarr; Truly understanding why a model makes a decision requires &lt;b&gt;causal reasoning&lt;/b&gt;, not just correlational patterns.&lt;/li&gt;
&lt;li data-end=&quot;564&quot; data-start=&quot;394&quot;&gt;&lt;b&gt;LLMs are powerful for counterfactual generation&lt;/b&gt;&lt;br /&gt;&amp;rarr; LLMs (e.g., ChatGPT, GPT-4) generate high-quality counterfactuals that outperform other explanation methods.&lt;/li&gt;
&lt;li data-end=&quot;727&quot; data-start=&quot;566&quot;&gt;&lt;b&gt;But LLMs are inefficient for inference&lt;/b&gt;&lt;br /&gt;&amp;rarr; They are &lt;b&gt;slow&lt;/b&gt;, &lt;b&gt;costly&lt;/b&gt;, and sometimes &lt;b&gt;infeasible&lt;/b&gt; for real-time or privacy-sensitive applications.&lt;/li&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;729&quot;&gt;&lt;b&gt;Matching offers a fast, scalable alternative&lt;/b&gt;&lt;br /&gt;&amp;rarr; Matching with learned causal representations allows &lt;b&gt;fast&lt;/b&gt;, &lt;b&gt;model-agnostic&lt;/b&gt;, and still &lt;b&gt;faithful&lt;/b&gt; explanations.&lt;/li&gt;
&lt;li data-end=&quot;1078&quot; data-start=&quot;908&quot;&gt;&lt;b&gt;Top-K matching consistently improves all methods&lt;/b&gt;&lt;br /&gt;&amp;rarr; Using multiple matched counterfactuals increases robustness and lowers variance in causal effect estimates.&lt;/li&gt;
&lt;li data-end=&quot;1289&quot; data-start=&quot;1080&quot;&gt;&lt;b&gt;Future benchmarks can be built using LLMs&lt;/b&gt;&lt;br /&gt;&amp;rarr; Instead of manually collecting counterfactuals, &lt;b&gt;GPT-4 can be used to generate realistic and diverse counterfactual benchmarks&lt;/b&gt; .&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;CONCLUSION&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;289&quot; data-start=&quot;168&quot;&gt;The paper introduces a framework for &lt;b&gt;faithful, model-agnostic explanations&lt;/b&gt; based on &lt;b&gt;counterfactual reasoning&lt;/b&gt;.&lt;/li&gt;
&lt;li data-end=&quot;518&quot; data-start=&quot;291&quot;&gt;Two methods are proposed:
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;518&quot; data-start=&quot;323&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;414&quot; data-start=&quot;323&quot;&gt;&lt;b&gt;LLM-based counterfactual generation&lt;/b&gt;: highly effective, but costly at inference time.&lt;/li&gt;
&lt;li data-end=&quot;518&quot; data-start=&quot;417&quot;&gt;&lt;b&gt;Matching using causal representations&lt;/b&gt;: efficient and scalable, while maintaining faithfulness.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li data-end=&quot;656&quot; data-start=&quot;520&quot;&gt;A new theoretical property is proposed: &lt;b&gt;Order-Faithfulness&lt;/b&gt;,&lt;br /&gt;which ensures explanation rankings reflect actual causal impact.&lt;/li&gt;
&lt;li data-end=&quot;935&quot; data-start=&quot;658&quot;&gt;Experiments show that:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;935&quot; data-start=&quot;687&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;687&quot;&gt;LLM-generated counterfactuals are &lt;b&gt;state-of-the-art&lt;/b&gt; explainers.&lt;/li&gt;
&lt;li data-end=&quot;867&quot; data-start=&quot;758&quot;&gt;Matching methods trained on causal objectives &lt;b&gt;closely rival LLMs&lt;/b&gt; and are &lt;b&gt;1000&amp;times; faster&lt;/b&gt; at inference.&lt;/li&gt;
&lt;li data-end=&quot;935&quot; data-start=&quot;870&quot;&gt;&lt;b&gt;Top-K counterfactuals&lt;/b&gt; improve performance across the board.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1096&quot; data-start=&quot;937&quot;&gt;GPT-4 can be used not only for explanations, but also to &lt;b&gt;automatically generate benchmark datasets&lt;/b&gt;, enabling new standards for explainability research.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;OWN REVIEW&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;This paper presents a highly valuable contribution to the explainability field by combining strong theoretical grounding with practical applicability. It balances two worlds: LLM-powered explanations that achieve state-of-the-art performance, and matching-based methods that offer scalability. The introduction of the &amp;ldquo;Order-Faithfulness&amp;rdquo; principle is not only elegant but actionable&amp;mdash;it sets a new standard for what it means to be &amp;ldquo;faithful&amp;rdquo; in explanation. While LLM-based generation is powerful, its cost still limits adoption. The matching approach, on the other hand, is both fast and interpretable. This work will likely influence future research in interpretable AI, counterfactual reasoning, and benchmark creation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;REFERENCES &lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;329&quot; data-start=&quot;242&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.Faithful Explanations of Black-box NLP Models Using LLM-generated Counterfactuals&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;524&quot; data-start=&quot;330&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;524&quot; data-start=&quot;332&quot; data-ke-size=&quot;size16&quot;&gt;Main paper. Proposes model-agnostic causal explanations using counterfactuals generated via LLMs and learned matching.&lt;br /&gt;&lt;a href=&quot;https://arxiv.org/abs/2310.00603&quot;&gt;https://arxiv.org/abs/2310.00603&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure id=&quot;og_1744542727163&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Faithful Explanations of Black-box NLP Models Using LLM-generated Counterfactuals&quot; data-og-description=&quot;Causal explanations of the predictions of NLP systems are essential to ensure safety and establish trust. Yet, existing methods often fall short of explaining model predictions effectively or efficiently and are often model-specific. In this paper, we addr&quot; data-og-host=&quot;arxiv.org&quot; data-og-source-url=&quot;https://arxiv.org/abs/2310.00603&quot; data-og-url=&quot;https://arxiv.org/abs/2310.00603v2&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jOrzE/hyYFybJ0GJ/L9JbLX9QbmC1PgJG0kRih0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/bTiHxZ/hyYCk7elhv/Lg3OVwarEyztMysBHheR4K/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/2310.00603&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://arxiv.org/abs/2310.00603&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jOrzE/hyYFybJ0GJ/L9JbLX9QbmC1PgJG0kRih0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/bTiHxZ/hyYCk7elhv/Lg3OVwarEyztMysBHheR4K/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Faithful Explanations of Black-box NLP Models Using LLM-generated Counterfactuals&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Causal explanations of the predictions of NLP systems are essential to ensure safety and establish trust. Yet, existing methods often fall short of explaining model predictions effectively or efficiently and are often model-specific. In this paper, we addr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;arxiv.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.CEBaB: Estimating the Causal Effects of Real-world Concepts on NLP Model Behavior&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;979&quot; data-start=&quot;654&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;979&quot; data-start=&quot;656&quot; data-ke-size=&quot;size16&quot;&gt;Introduces the CEBaB dataset, which is used as the benchmark in this paper for causal evaluation.&lt;br /&gt;&lt;a href=&quot;https://papers.nips.cc/paper_files/paper/2022/hash/701ec28790b29a5bc33832b7bdc4c3b6-Abstract-Conference.html&quot;&gt;https://papers.nips.cc/paper_files/paper/2022/hash/701ec28790b29a5bc33832b7bdc4c3b6-Abstract-Conference.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.&lt;b&gt;Causality: Models, Reasoning and Inference&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;1231&quot; data-start=&quot;1061&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1231&quot; data-start=&quot;1063&quot; data-ke-size=&quot;size16&quot;&gt;The foundational work on causal inference, including the &lt;b&gt;do-calculus&lt;/b&gt; and &lt;b&gt;causal graphs&lt;/b&gt; used throughout this paper.&lt;br /&gt;Pearl, Cambridge University Press.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.&lt;b&gt;Learning the Difference That Makes a Difference with Counterfactually-Augmented Data&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;1571&quot; data-start=&quot;1364&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1571&quot; data-start=&quot;1366&quot; data-ke-size=&quot;size16&quot;&gt;Demonstrates how counterfactual examples improve model robustness and fairness. A key precedent for counterfactual data generation.&lt;br /&gt;&lt;a href=&quot;https://arxiv.org/abs/1909.12434&quot;&gt;https://arxiv.org/abs/1909.12434&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <author>Kim doing</author>
      <guid isPermaLink="true">https://kimdoing-ai.tistory.com/4</guid>
      <comments>https://kimdoing-ai.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 13 Apr 2025 20:13:22 +0900</pubDate>
    </item>
    <item>
      <title>[Cloud Server] HDFS (Hadoop Distributed File System)</title>
      <link>https://kimdoing-ai.tistory.com/3</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;HDFS (Hadoop Distributed File System)?&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - 대용량 데이터를 여러 컴퓨터에 분산해서 저장하고 관리하는 파일 시스템&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;특징&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 분산 저장(Distributed Storage)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;: 데이터를 여러 개의 서버(노드)에 나누어 저장함으로써 대규모 데이터 저장이 가능, 데이터 처리 속도 향상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 고장 허용(Fault Tolerance)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;: 데이터의 복제(replication)를 통해 노드 장애가 발생하더라도 데이터 손실을 방지해. 일반적으로 데이터를 여러 노드에 복제해서 저장하기 때문에, 하나의 노드가 고장 나도 다른 노드에서 데이터를 읽을 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 데이터 지역성(Data Locality)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;: 데이터를 처리하는 애플리케이션이 가능한 한 저장된 데이터 근처(같은 노드 또는 근처 노드)에서 실행되도록 설계해서 데이터 이동을 최소화해 성능을 높이는 방식임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 확장성( Scalability)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; : 새로운 노드를 추가하거나 제거하는 방식으로 쉽게 시스템의 용량과 성능을 확장할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x41f8/btsMXQC6Awc/XKiCgfI8BQla1HGMu55AdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x41f8/btsMXQC6Awc/XKiCgfI8BQla1HGMu55AdK/img.png&quot; data-alt=&quot;fig1. HDFS 전체 아키텍처 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x41f8/btsMXQC6Awc/XKiCgfI8BQla1HGMu55AdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx41f8%2FbtsMXQC6Awc%2FXKiCgfI8BQla1HGMu55AdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;783&quot; height=&quot;489&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;fig1. HDFS 전체 아키텍처 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;HDFS 아키텍처 구성요소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Client&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 사용자의 요청을 보내는 주체. 파일을 읽거나 쓰기 위해 HDFS에 접근함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - NameNode&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : HDFS의 중심 뇌. 파일의 메타데이터(어디에 저장이 되어 있는지, 어떠한 블록으로 나누어져 있는지 등)를 관리, 직접 데이터를 저장하지 않음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Secondary NameNode&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 흔히 오해되지만 백업 서버는 아님. NameNode 의 로그를 병합해 주는 역할을 수행하며 , 장애 복구 시 중요한 역할.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - DataNodes&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 실제 데이터 블록이 저장되는 노드들임. 클러스터 안에 여러 개 존재, 데이터는 이들 사이에 나뉘어 저장됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Cluster Membership&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 클러스터에 어떤 노드가 참여 중인지, 정상적으로 작동하고 있는지를 관리하는 기능.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;데이터의 흐름(fig1 참조)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1.&amp;nbsp; Client가 파일 이름으로 데이터를 요청&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2. NameNode가 해당 파일이 저장된 블록의 위치정보를 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;3.Client는 실제 데이터를 DataNode에서 직접 읽음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;965&quot; data-origin-height=&quot;502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0r4nK/btsMWZAHnWc/mlbaorY6629PpkKzrcH3KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0r4nK/btsMWZAHnWc/mlbaorY6629PpkKzrcH3KK/img.png&quot; data-alt=&quot;fig2. HDFS 내부 데이터 이동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0r4nK/btsMWZAHnWc/mlbaorY6629PpkKzrcH3KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0r4nK%2FbtsMWZAHnWc%2FmlbaorY6629PpkKzrcH3KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;965&quot; height=&quot;502&quot; data-origin-width=&quot;965&quot; data-origin-height=&quot;502&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;fig2. HDFS 내부 데이터 이동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;HDFS 데이터의 핵심 흐림(fig2참조)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Client =&amp;gt; NameNode&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 사용자가 파일을 읽거나 쓸 때, 우선 NameNode에 메타 데이터 요청을 보냄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;- 쓰기(Write)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : NameNode가 어떤 DataNode에 데이터를 저장할지 정해줌. 이때 데이터는 여러 노드에 복제되며 보통 3개의 복제본이 생성됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 복제 흐름&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 데이터를 쓰는 클라이언트는 첫 번째 DataNode에 데이터를 전송하고 그 DataNode는 또 다른 노드로 데이터를 전달함. 이 과정을 통해 데이터는 체인처럼 여러 곳에 자동 복제 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 읽기(Read)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 사용자는 NameNode로부터 블록위치를 전달받고 , 가장 가까운 DataNode에서 직접 데이터를 읽음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Rack Awareness&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:fig2에서는 Rack 1, Rack 2로 구성되어 있음. 이는 HDFS가 서버들이 어떤 랙(물리적 위치 그룹)에 있는지 알고 데이터를 분산시킨다는 뜻임. 이로써 장애가 발생하더라고 다른 랙에서 데이터를 복구할 수 있어 내결함성을 확보함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;HDFS 활용 분야&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 빅데이터 처리(Hadoop, Spark 등과 함께 사용)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 대규모 로그 분석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 데이터 웨어하루징 및 데이터 분석 플랫폼 등&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;==&amp;gt; HDFS는 빅데이터를 효율적으로 처리하고 관리하기 위한 핵심 기반 시스템&lt;/p&gt;</description>
      <category>Server</category>
      <author>Kim doing</author>
      <guid isPermaLink="true">https://kimdoing-ai.tistory.com/3</guid>
      <comments>https://kimdoing-ai.tistory.com/3#entry3comment</comments>
      <pubDate>Thu, 27 Mar 2025 11:38:55 +0900</pubDate>
    </item>
    <item>
      <title>[study] Thompson Sampling</title>
      <link>https://kimdoing-ai.tistory.com/2</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의사결정의 딜레마: 탐색과 활용의 균형&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d50JTu/btsMU0epqey/CkokxvyaC4SBMC3RwnPw9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d50JTu/btsMU0epqey/CkokxvyaC4SBMC3RwnPw9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d50JTu/btsMU0epqey/CkokxvyaC4SBMC3RwnPw9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd50JTu%2FbtsMU0epqey%2FCkokxvyaC4SBMC3RwnPw9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;386&quot; height=&quot;221&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp; 요즘 시대의 급변하는 환경 속 , 기업과 연구자들은 데이터 기반 의사결정을 통해 최적의 선택을 내리기 위해 고군분투 하고 있습니다. 특히 여러 옵션 중 하나를 선택할 때 발생하는 탐색(Exploration) 과 활용(Exploitation) 사이의 균형문제는 매우 중요한 과제로 대두됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[Ex]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;583&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WKoeU/btsMUm3dhYc/haWrrntJIZVBWHBFYGKqy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WKoeU/btsMUm3dhYc/haWrrntJIZVBWHBFYGKqy0/img.png&quot; data-alt=&quot;활용의 숫자가 늘어나면 탐색의 숫자가 줄어들고 활용의 숫자가 줄어들면 탐색의 숫자가 늘어남&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WKoeU/btsMUm3dhYc/haWrrntJIZVBWHBFYGKqy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWKoeU%2FbtsMUm3dhYc%2FhaWrrntJIZVBWHBFYGKqy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1605&quot; height=&quot;583&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;583&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;활용의 숫자가 늘어나면 탐색의 숫자가 줄어들고 활용의 숫자가 줄어들면 탐색의 숫자가 늘어남&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 어떠한 예로 온라인 광고 캠페인을 진행한다고 할 때, 이미 검증된 광고에 계속 투자하는 '활용' 전략은 안정적인 결과를 보장하지만, 동시에 새로운 광고 형식이나 창의적인 아이디어를 시도라는 '탐색'의 기회를 놓칠 위험이 있음, 반대로 , 모든 자원을 새로운 시도에만 투자하면 과거의 성공 사례에서 얻을 수 있는 안정적인 이익을 포기할 수밖에 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼, 단순히 과거의 성과만을 따르거나 모든 가능성을 무작정 시도하는 방식은 장기적인 성공을 보장하지 않습니다. 적절한 균형을 유지하는 것이 핵심이며, 이를 통해 리소스의 효율적 배분과 함께 잠재적인 성장 기회를 극대화할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;b&gt;이러한 딜레마를 해결하기 위해 제안된 접근법 중 하나가 바로 톰슨 샘플링 입니다.&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Thonpson Sampling&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;톰슨 샘플링 이란?&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 톰슨 샘플링은 탐색과 활용 문제를 효과적으로 해결하기 위한 확률론적 접근법입니다. 이 알고리즘은 각 옵션의 성공 확률을 베이지안 업데이트 방식으로 추정하며, 이를 바탕으로 매 순간 최적의 선택을 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;사전지식&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 베이지안 확률(Bayesian Probability)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 베이지안 확률은 사전확률(prior)을 기반으로, 새로운 데이터를 관측할 때마다 이를 업데이트 하여 사후 확률(posterior)을 도출하는 접근 방식 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 과정을 통해, 불확실한 상황에서도 점진적으로 확신을 높여갈 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1039&quot; data-origin-height=&quot;614&quot;&gt;&lt;a href=&quot;https://bioinformaticsandme.tistory.com/47&quot; target=&quot;_blank&quot; title=&quot;베이지안 설명&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u3Nox/btsMUXbIxcc/F3flvgOAR7swMLEVu5Fc5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu3Nox%2FbtsMUXbIxcc%2FF3flvgOAR7swMLEVu5Fc5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;406&quot; height=&quot;240&quot; data-origin-width=&quot;1039&quot; data-origin-height=&quot;614&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;출처:https://bioinformaticsandme.tistory.com/47&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 확률 분포 및 베타 분포&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 확률 분포는 어떤 사건이 발생할 가능성을 수치적으로 표현하는 도구임, 이론적으로 여러 형태가 있지만 톰슨 샘플링에서는 선택지의 성공률을 나타내는데 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;베타 분포는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이진 성공/실패 문제에서 많이 &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;두 매개변수&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;alpha;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;beta;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;에 따라 [0,1] 구간에서 정의되는 연속 확률 분포들의 가족임, 특히 이진 문제에 많이&lt;/span&gt;&amp;nbsp;사용되는데 0과1 사이의 값을 가지며, 다양한 모양을 통해 불확실성을 효과적으로 표현할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;217&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDCQmq/btsMVFajXBc/KjCrgNVaeOfKkg0rFSWWJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDCQmq/btsMVFajXBc/KjCrgNVaeOfKkg0rFSWWJK/img.png&quot; data-alt=&quot;베타 분포의 여러 형태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDCQmq/btsMVFajXBc/KjCrgNVaeOfKkg0rFSWWJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDCQmq%2FbtsMVFajXBc%2FKjCrgNVaeOfKkg0rFSWWJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;343&quot; height=&quot;276&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;217&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;베타 분포의 여러 형태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-멀티암드 밴딧 문제 (Multi-Armed Bandit Problem)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 멀티암드 밴딧 문제는 여러 개의 슬롯 머신(또는 선택지) 중에서 최대의 보상을 주는 옵션을 찾는 문제로, 탐색(새로운 옵션 시도)과 활용(현재 최고 옵션 활용) 사이의 균형이 핵심입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;톰슨 샘플링의 주요 개념 및 작동 원리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-톰슨 샘플링은 베이지안 접근 방식을 활용하여 탐색과 활요문제를 해결하는 알고리즘입니다. 여기서는 그 작동 원리를 단계별로 살펴 보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.베이지안 확률 모델 업데이트&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;547&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k7eMr/btsMWmBu8pH/KFyOzdsLEz3CHzW0FkkIK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k7eMr/btsMWmBu8pH/KFyOzdsLEz3CHzW0FkkIK1/img.png&quot; data-alt=&quot;Beta(1,1)은 균등한 초기 상태를, Beta(5,1)은 성공 데이터를 반영해 오른쪽으로 치우친 분포를, 그리고 Beta(1,5)는 실패 데이터를 반영해 왼쪽으로 치우친 분포를 보여줍니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k7eMr/btsMWmBu8pH/KFyOzdsLEz3CHzW0FkkIK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk7eMr%2FbtsMWmBu8pH%2FKFyOzdsLEz3CHzW0FkkIK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;332&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;547&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Beta(1,1)은 균등한 초기 상태를, Beta(5,1)은 성공 데이터를 반영해 오른쪽으로 치우친 분포를, 그리고 Beta(1,5)는 실패 데이터를 반영해 왼쪽으로 치우친 분포를 보여줍니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-사전 확률 설정(prior): 알고리즘은 각 선택지에 대해 초기에 사전 확률 분포를 할당합니다. 예를 들어, 이진 성공/실패 문제에서는 베타 분포를 많이 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-데이터 관측 및 업데이트: 각 선택지를 시도한 후, 성공 혹은 실패와 같은 결과가 관측됩니다 . 이 데이터를 바탕으로 베이지안 업데이트가 진행되어, 각 선택지의 사후 확률(posterior)이 재계산됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 확률 분포 샘플링&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-무작위 샘플링: 업데이트된 사후 확률 분포에서 무작위로 샘플링을 진행합니다. 이때, 각 옵션으로부터 하나씩 샘플을 뽑아, 가장 높은 값을 가진 옵션을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;==&amp;gt; 단순히 평균값이나 최빈값만 보는 것이 아니라, 분포 전체의 모양과 불확실 성을 함께 반영합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 동적 의사결정 및 균형 유지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-탐색과 활용의 균형: 톰슨 샘플링은 불확실성이 큰 옵션에서도 무작위 샘플링을 통해 선택될 가능성을 남겨두므로, 새로운 옵션을 탐색할 여지를 제공합니다. 동시에, 지금까지의 데이터가 풍부한 옵션은 더 높은 확률로 선택되어 활용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-환경 변화에 대한 적응: 데이터가 계속 업데이트됨에 따라, 알고리즘은 환경의 변화에 유연하게 반응할 수 있습니다. 초기에는 탐색을 많이 하다가, 데이터가 축적됨에 따라 점차 활용에 초점을 맞추게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이러한 과정을 통해 톰슨 샘플링은 단순한 탐욕적 선택 방법보다 더 정교하게 의사 결정을 수행합니다. 베이지안 업데이트와 확률 분포 샘플링을 결합함으로써, 불확실성을 자연스럽게 반영하며 최적의 선택을 내릴 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study</category>
      <author>Kim doing</author>
      <guid isPermaLink="true">https://kimdoing-ai.tistory.com/2</guid>
      <comments>https://kimdoing-ai.tistory.com/2#entry2comment</comments>
      <pubDate>Tue, 25 Mar 2025 16:29:16 +0900</pubDate>
    </item>
    <item>
      <title>[Study] Greedy algorithm</title>
      <link>https://kimdoing-ai.tistory.com/1</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;● Greedy Algorithm이란?&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;선택 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종 해답에 도달하는 알고리즘입니다.&lt;/li&gt;
&lt;li&gt;각 단계마다 최적의 선택을 하지만, 이러한 선택이 최종 해답이 최적임을 보장하지는 않습니다.&lt;/li&gt;
&lt;li&gt;특정 단계(그 지역 및 범위)에서는 최적의 선택을 하지만, 전체적으로 최적의 해답을 보장하지 않을 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;● 문제 해결 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;선택 절차 (Selection Procedure)&lt;/b&gt;: 현재 상태에서 최적의 해를 선택합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;적절성 검사 (Feasibility Check)&lt;/b&gt;: 선택한 해가 문제의 조건을 만족하는지 검사합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해답 검사 (Solution Check)&lt;/b&gt;: 선택한 해가 전체 문제를 해결하는지 검사합니다. 만약 해결하지 못할 경우 다시 선택 절차로 돌아갑니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;● 성립 조건&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;탐욕적 선택 속성 (Greedy Choice Property)&lt;/b&gt;: 각 단계에서의 선택이 이후 선택에 영향을 미치지 않고 독립적으로 이루어집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;최적 부분구조 (Optimal Substructure)&lt;/b&gt;: 문제에 대한 최종 해결 방안이 부분 문제들의 최적 해결 방안으로 구성될 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;탐욕적 선택 속성은 각 단계에서 최적의 선택을 하는 것이 이후 단계의 최적 선택에 영향을 미치지 않음을 의미합니다. 이 속성이 있어야 탐욕 알고리즘이 작동할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최적 부분구조는 문제가 부분 문제로 나누어질 수 있고, 각 부분 문제의 최적 해가 전체 문제의 최적 해를 구성할 수 있는 성질을 말합니다. 이 속성이 있어야 탐욕 알고리즘이 전체 문제의 최적 해를 구성할 수 있습니다.&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;● 추가 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;탐욕 알고리즘은 항상 최적의 결과를 도출하지 않을 수 있지만, 최적에 근사한 값을 빠르게 도출하는 장점이 있습니다. 이러한 이유로 탐욕 알고리즘은 근사 알고리즘으로 사용될 수 있습니다.&lt;/li&gt;
&lt;li&gt;탐욕 알고리즘을 적용해도 언제나 최적해를 구할 수 있는 매트로이드(matroid) 구조가 있습니다. 이러한 문제에 대해 탐욕 알고리즘을 사용하면 빠른 계산 속도로 답을 구할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;탐욕 알고리즘은 때때로 최적해가 아닌 근사해를 제공하는 경우가 있습니다. 이는 문제의 성질에 따라 다르며, 특히 매트로이드 구조와 같은 특수한 경우에 탐욕 알고리즘은 최적해를 보장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※매트로이드: 그리디 알고리즘으로 최적해가 보장되는 공간 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※근사 알고리즘:최적해를 구하는 것이 어려운 문제에서 최적해에 가까운 해를 빠르게 구하는 알고리즘으로, 근사 비율을 통해 성능을 평가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study</category>
      <author>Kim doing</author>
      <guid isPermaLink="true">https://kimdoing-ai.tistory.com/1</guid>
      <comments>https://kimdoing-ai.tistory.com/1#entry1comment</comments>
      <pubDate>Tue, 16 Jul 2024 16:27:52 +0900</pubDate>
    </item>
  </channel>
</rss>