> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 선형 플롯 레퍼런스

> X축, Y축, 스무딩, 집계 및 그룹화 옵션을 포함한 선형 플롯 패널 설정에 대한 레퍼런스입니다.

이 페이지에서는 선형 플롯 설정을 자세히 설명합니다. 선형 플롯 사용 방법에 대한 자세한 내용은 [선형 플롯 개요](/ko/products/wandb/app/features/panels/line-plot)를 참조하세요.

<h2 id="data-settings">
  데이터 설정
</h2>

데이터 설정에서는 플롯에 표시할 메트릭과 데이터 포인트의 샘플링, 스무딩, 집계 방식을 지정합니다.

<h3 id="x-axis">
  X축
</h3>

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/reference_x_axis.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=8b318c629d149975c4b0b47e9766b24c" alt="X-axis 선택" width="3705" height="1304" data-path="products/wandb/_media/reference_x_axis.png" />
</Frame>

`wandb.Run.log()`로 로깅한 정수 또는 부동 소수점 값을 X축 범위로 설정할 수 있습니다.

사용 가능한 시간 기반 X축 옵션:

* **Step**: `wandb.Run.log()`가 호출될 때마다 증가합니다. 모델에서 로깅한 트레이닝 steps 수를 나타냅니다. (Default)
* **Relative Time (Wall)**: process가 시작된 이후 경과한 실제 시간입니다. run을 시작하고 하루 동안 일시 중지한 다음 재개하여 로깅하면 해당 point는 24시간 위치에 표시됩니다.
* **Relative Time (Process)**: 실행 중인 process 내부의 시간입니다. run을 시작하여 10초 동안 실행하고 하루 동안 일시 중지한 다음 재개하면 해당 point는 10초 위치에 표시됩니다.
* **Wall Time**: 그래프에 있는 첫 번째 run이 시작된 이후 경과한 시간(분)입니다.
* **X range**: 기본적으로 X축의 minimum부터 maximum까지입니다. minimum과 maximum을 사용자 지정할 수 있습니다.

<h3 id="y-axis">
  Y축
</h3>

`wandb.Run.log()`로 로깅한 정수 또는 부동 소수점 값으로 Y축 변수를 설정하세요. 단일 값, 값의 배열 또는 값의 히스토그램을 지정하세요. 변수에 대해 1,500개 이상의 point를 로깅한 경우 W\&B는 1,500 point로 다운샘플링합니다.

<Note>
  runs table에서 run 색상을 변경하여 Y축 선의 색상을 사용자 지정하세요.
</Note>

**Y range** 옵션은 메트릭의 가장 작은 양수 값(0 포함)부터 메트릭의 가장 큰 값까지의 범위로 기본 설정됩니다. minimum과 maximum 값을 사용자 지정할 수 있습니다.

<h3 id="point-aggregation-method">
  포인트 집계 방법
</h3>

데이터 포인트를 표시할 샘플링 모드를 선택하세요.

* **전체 충실도**(기본값): [전체 충실도](/ko/products/wandb/app/features/panels/line-plot/sampling#full-fidelity)를 참조하세요.
* **랜덤 샘플링**: [랜덤 샘플링](/ko/products/wandb/app/features/panels/line-plot/sampling#random-sampling)을 참조하세요.

<h3 id="smoothing">
  스무딩
</h3>

[smoothing coefficient](/ko/support/models/articles/what-formula-do-you-use-for-your-smoothi)를 0과 1 사이로 설정하세요. 여기서 0은 스무딩 없음, 1은 최대 스무딩입니다.

사용 가능한 스무딩 방법:

* **Time-weighted EMA** (default): 이전 포인트의 가중치를 지수적으로 감소시켜 시계열 데이터를 스무딩하는 지수 이동 평균(EMA) 기법입니다.
* **Running average**: 주어진 x 값 전후 윈도우 내 포인트들의 평균으로 포인트를 대체합니다.
* **Gaussian**: 포인트들의 가중 평균을 계산하며, 가중치는 스무딩 매개변수로 지정된 표준 편차를 가진 가우시안 분포에 해당합니다.
* **No smoothing**

자세한 내용은 [선형 플롯 스무딩](/ko/products/wandb/app/features/panels/line-plot/smoothing)을 참조하세요.

<h3 id="ignore-outliers">
  이상치 무시
</h3>

플롯을 재조정하여 기본 플롯 최소 및 최대 스케일에서 이상치를 제외합니다. 설정의 영향은 플롯의 샘플링 모드에 따라 달라집니다:

* **랜덤 샘플링 모드**: 이상치를 무시하면 플롯에서 5% 미만 및 95% 초과 포인트를 생략합니다.
* **전체 충실도 모드**: 이상치를 무시하면 모든 포인트를 표시하되 각 버킷의 마지막 값으로 압축하고 5% 미만 및 95% 초과 영역을 음영 처리합니다.

<h3 id="max-runs-or-groups">
  최대 run 또는 그룹 수
</h3>

기본적으로 플롯에는 run 목록 또는 run 세트에서 처음 10개의 run 또는 run 그룹만 포함됩니다. 표시할 run 또는 그룹을 선택하려면 정렬 순서를 변경하세요.

<Note>
  워크스페이스는 설정과 관계없이 최대 1,000개의 run까지만 표시할 수 있습니다.
</Note>

<h3 id="run-grouping">
  Run grouping
</h3>

runs table이 그룹화되면, 각 선형 플롯은 그룹 내 run을 단일 선으로 결합합니다. 이 그룹화가 플롯에 적용되는 방식을 설정하세요:

* **차트에서 runs table의 그룹화 사용**: runs table의 그룹화를 선형 플롯에 적용합니다. 기본적으로 켜져 있습니다. 끄면 runs table이 그룹화되어 있더라도 모든 run을 개별적으로 플롯합니다.
* **그룹당 최신 run만 사용**: 그룹의 run을 결합하는 대신 각 그룹에 대해 하나의 run을 플롯합니다. 기본적으로 꺼져 있습니다. 워크스페이스 수준에서만 사용 가능합니다.
* **집계**: 각 그룹의 결합된 선 값입니다. 옵션은 **평균**, **최소** 또는 **최대**입니다. **그룹당 최신 run만 사용**이 켜져 있으면 사용할 수 없습니다.

동일한 group에서 실험을 반복 실행하는 경우 **그룹당 최신 run만 사용**을 켜세요. 그러면 각 차트에 가장 최근 시도만 표시되고, 이전 run은 프로젝트에 남습니다.

그룹 내 최신 run은 run 선택기에서 해당 그룹의 첫 번째 run입니다. runs table 정렬 순서를 변경하여 각 그룹에 대해 다른 run을 플롯하세요.

<Note>
  **그룹당 최신 run만 사용**은 **포인트 집계 방법**이 **전체 충실도**일 때만 적용됩니다. **랜덤 샘플링** 모드에서는 효과가 없습니다.
</Note>

<h3 id="chart-type">
  차트 유형
</h3>

플롯 스타일을 선택하세요.

* **선형 플롯**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_line_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=c0d5a6381150f36968f107a75587151a" alt="선형 플롯 스타일" width="964" height="435" data-path="products/wandb/_media/plot_style_line_plot.png" />
  </Frame>
* **영역 플롯**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_area_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=205af049784864c9d7629676a5b365a3" alt="영역 플롯 스타일" width="949" height="420" data-path="products/wandb/_media/plot_style_area_plot.png" />
  </Frame>
* **백분율 영역 플롯**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_percentage_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=073f357b150018e0076bbafd82342ae8" alt="백분율 플롯 스타일" width="956" height="420" data-path="products/wandb/_media/plot_style_percentage_plot.png" />
  </Frame>

차트 유형은 **Data** 탭에서 설정하세요. 자세한 내용은 [개별 선형 플롯](/ko/products/wandb/app/features/panels/line-plot#individual-line-plot)을 참고하세요.

<h2 id="grouping-settings">
  Grouping 설정
</h2>

그룹화를 켜서 모든 run을 집계하거나 개별 변수를 기준으로 그룹화하세요. runs table에서 그룹화를 켜면 그룹이 그래프에 자동으로 표시됩니다.

* **Group runs**: 플롯에서 run 그룹화를 켭니다. 플롯의 음영 범위를 설정하려면 Required입니다. run을 하나의 선으로 집계하지 않으려면 이 옵션을 끄세요. 그룹화는 유지한 채 집계만 disable하는 별도의 스위치는 없습니다.
* **Group by**: 필요한 경우 column을 선택합니다. 해당 column의 값이 같은 run이 모두 하나의 그룹으로 묶입니다.
* **집계**: 그래프에 표시되는 선의 값입니다. 그룹의 평균, 중앙값, 최소, 최대 중에서 선택할 수 있습니다. 이 설정은 **Group runs**가 켜져 있을 때만 적용됩니다.
* **Range**: full-fidelity 선형 플롯의 음영 영역을 설정합니다. Min/Max, Std Dev, Std Err, None 중에서 선택할 수 있습니다.

<h2 id="chart-settings">
  차트 설정
</h2>

제목과 범례 표시 여부를 설정하세요.

* **Panel title**: 패널 상단에 표시되는 제목입니다.
* **X-axis title**: x축에 표시되는 레이블입니다.
* **Y-axis title**: y축에 표시되는 레이블입니다.
* **범례**: 범례를 표시하거나 숨기고, 범례 위치를 설정합니다.

<h2 id="legend-settings">
  범례 설정
</h2>

run에서 로깅된 설정 값과 run의 메타데이터(예: 생성 시간 또는 run을 생성한 사용자)를 표시하도록 범례를 사용자 지정하세요.

<h3 id="legend-template">
  범례 템플릿
</h3>

범례 이름에 대한 템플릿을 정의합니다.

1. 톱니바퀴 아이콘을 클릭하여 플롯 설정을 여세요.
2. **표시 기본 설정** 탭으로 이동하세요.
3. **고급 범례**를 펼친 다음 범례 템플릿을 지정하세요.
4. **Apply**를 클릭하세요.

<h3 id="point-specific-values">
  포인트별 값
</h3>

차트 위에 마우스를 올렸을 때 십자선에 포인트별 값을 표시하려면 `[[ ]]` 안에 값을 설정하세요.

1. 플롯 설정을 열려면 톱니바퀴 아이콘을 클릭하세요.
2. **표시 기본 설정** 탭으로 이동하세요.
3. 탭 하단에서 플롯의 메트릭 중 하나 이상에 대한 포인트별 값을 설정하세요.
4. **Apply**를 클릭하세요.

`[[ ]]` 안에서 지원되는 값:

| 값 | 의미 |
| - | - |
| `${x}` | X 값 |
| `${y}` | Y 값(스무딩 보정 포함) |
| `${original}` | 스무딩 보정을 포함하지 않은 Y 값 |
| `${mean}` | 그룹화된 run의 평균 |
| `${stddev}` | 그룹화된 run의 표준 편차 |
| `${min}` | 그룹화된 run의 최소값 |
| `${max}` | 그룹화된 run의 최대값 |
| `${percent}` | 전체 대비 백분율(누적 영역 차트용) |

<h2 id="expressions">
  Expressions
</h2>

수학 표현식을 작성하여 로깅한 메트릭, 설정 값, 요약 통계로 선형 플롯을 만들거나 변환할 수 있습니다. 예를 들어 두 메트릭의 차이를 계산하거나, 설정 값으로 메트릭의 스케일을 조정하거나, 메트릭의 로그 값을 플롯할 수 있습니다. 표현식은 로깅하는 각 step마다 평가됩니다.

다음 섹션에서는 표현식에서 값을 참조하는 방법과 맞춤형 표현식에서 사용할 수 있는 Operator 및 함수를 설명합니다. 선형 플롯에서는 X축, Y축 또는 두 축 모두에 표현식을 사용할 수 있습니다.

일반적인 사용 사례와 표현식 예시는 [표현식 예시](#example-expressions)를 참조하세요.

<h3 id="create-new-line-plots-with-expressions">
  표현식으로 새 선형 플롯 만들기
</h3>

1. 프로젝트의 워크스페이스로 이동하세요.
2. **+ Add panel** 버튼을 클릭하고 **선형 플롯**을 선택하세요.
3. **Data** 탭을 클릭하세요. 선형 플롯의 x축과 y축에 표시할 데이터를 각각 선택하세요.
4. **Expressions** 탭을 클릭하세요.
5. **Y-axis** 필드 또는 **X-axis** 필드에 표현식을 입력하세요.
6. **Apply**를 클릭해 설정을 저장하고 선형 플롯을 확인하세요.

<h3 id="transform-existing-line-plots-with-expressions">
  표현식으로 기존 선형 플롯 변환하기
</h3>

1. 변환하려는 선형 플롯을 엽니다.
2. 플롯 오른쪽 상단의 톱니바퀴 아이콘을 클릭하여 패널을 편집합니다.
3. **Expressions** 탭을 클릭합니다.
4. **Y-axis** 필드 또는 **X축** 필드에 표현식을 입력합니다.
5. **Apply**를 클릭하여 설정을 저장하고 업데이트된 선형 플롯을 확인합니다.

<h3 id="referencing-values">
  값 참조하기
</h3>

다음 table은 선형 플롯 표현식에서 로깅된 메트릭, 설정 매개변수, 요약 통계를 참조하는 방법을 설명합니다.

| 유형 | 구문 | 설명 | 예시 |
| - | - | - | - |
| 메트릭 | `${metric_name}` | 로깅된 메트릭을 이름으로 참조합니다. | `${val/accuracy}`, `${"accuracy"}` |
| 설정 매개변수 | `${config:param_name}` | `${config:}` 접두사를 사용하여 설정 값을 참조합니다. | `${config:lr}`, `${config:batch_size}` |
| 요약 통계 | `${summary:stat_name}` | `${summary:}` 접두사를 사용하여 요약 필드를 참조합니다. | `${summary:final_accuracy}`, `${summary:best_loss}` |

메트릭 이름, 설정 매개변수, 요약 필드에 `/`, `-` 등의 특수 문자나 공백이 포함된 경우 `${...}`를 사용하여 이스케이프하세요.

예를 들어 `val/accuracy`라는 메트릭을 로깅했다면 나눗셈 Operator와 혼동되지 않도록 `${val/accuracy}`로 참조하세요. `dropout-rate`라는 설정 매개변수를 로깅했다면 `${config:dropout-rate}`로, `best loss`라는 요약 필드를 로깅했다면 `${summary:best loss}`로 참조하세요.

<h4 id="nested-configs">
  중첩된 설정
</h4>

중첩된 설정 값에 액세스하려면 점 표기법과 다음 구문을 사용하세요.

```javascript theme={"system"}
${config:parent.child.grandchild}
```

여기서 `parent`, `child`, `grandchild`는 중첩된 설정 딕셔너리의 키입니다.

예를 들어, 중첩된 딕셔너리가 포함된 다음 설정을 로깅한다고 가정해 보겠습니다.

```python theme={"system"}
config = {
    "model": {
        "type": "resnet",
        "layers": 50
    },
    "training": {
        "batch_size": 32,
        "learning_rate": 0.001
    }
}

with wandb.init(project="my-project", config=config) as run:
    ...
```

모델 유형은 `${config:model.type}`로 참조할 수 있습니다. 배치 크기는 `${config:training.batch_size}`로 참조하세요.

또 다른 예로, 중첩된 딕셔너리가 포함된 다음 설정을 살펴보겠습니다.

```json Config parameters  theme={"system"}
config:
  optimizer:
    value:
      lr: 0.001
      weight_decay: 0.01
  model:
    value:
      hidden_size: 768
```

학습률을 `${config:optimizer.value.lr}`로, 모델의 hidden size를 `${config:model.value.hidden_size}`로, 또는 weight decay를 `${config:optimizer.value.weight_decay}`로 참조하세요.

<h3 id="available-operators">
  사용 가능한 Operator
</h3>

W\&B은 선형 플롯 표현식에 다음 Operator를 지원합니다:

| 범주 | Operator |
| - | - |
| Arithmetic | `+`, `-`, `*`, `/`, `%` (modulo), `**` (exponent) |
| Comparison | `==`, `!=`, `===`, `!==`, `<`, `>`, `<=`, `>=` |
| Bitwise | `\|`, `^`, `&`, `<<`, `>>`, `>>>` |
| Logical | `\|\|` , `&&` |

<h3 id="math-constants-and-functions">
  수학 상수 및 함수
</h3>

JavaScript의 모든 수학 함수와 상수를 지원합니다. 자세한 내용은 [MDN Math 문서](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math)를 참조하세요. 다음 표에는 선형 플롯 표현식에서 가장 자주 사용하는 함수와 상수가 정리되어 있습니다.

<h4 id="math-constants">
  수학 상수
</h4>

| 상수 | 설명 |
| - | - |
| `e` | 오일러 수 |
| `pi` | 원주율 |
| `ln2` | 2의 자연로그 |
| `ln10` | 10의 자연로그 |
| `log2e` | 밑이 2인 e의 로그 |
| `log10e` | 밑이 10인 e의 로그 |
| `sqrt2` | 2의 제곱근 |
| `sqrt1_2` | 1/2의 제곱근 |

<h4 id="arithmetic-and-statistical-functions">
  산술 및 통계 함수
</h4>

다음 표에서는 사용 가능한 산술 및 통계 함수를 설명합니다.

| 함수 | 설명 |
| - | - |
| abs(x) | 절댓값 |
| ceil(x) | 올림 함수(가장 가까운 정수로 올림) |
| floor(x) | 내림 함수(가장 가까운 정수로 내림) |
| round(x) | 가장 가까운 정수로 반올림 |
| min(x, y, ...) | 최솟값 |
| max(x, y, ...) | 최댓값 |
| sqrt(x) | 제곱근 |

<h4 id="logarithmic-and-exponential-functions">
  로그 및 지수 함수
</h4>

다음 표는 사용 가능한 로그 및 지수 함수를 설명합니다.

| 함수 | 설명 |
| - | - |
| log(x) | 자연 로그(밑 e) |
| log10(x) | 밑이 10인 로그 |
| log2(x) | 밑이 2인 로그 |
| exp(x) | 지수 함수(e^x) |
| pow(x, y) | 거듭제곱 함수(x^y) |

<h4 id="trigonometric-functions">
  삼각 함수
</h4>

다음 table은 사용 가능한 삼각 함수를 설명합니다:

| 함수 | 설명 |
| - | - |
| sin(x) | 사인 |
| cos(x) | 코사인 |
| tan(x) | 탄젠트 |
| asin(x) | 아크사인(역사인) |
| acos(x) | 아크코사인(역코사인) |
| atan(x) | 아크탄젠트(역탄젠트) |
| atan2(y, x) | 두 인수 아크탄젠트 |

<h4 id="hyperbolic-functions">
  쌍곡 함수
</h4>

다음 table은 사용 가능한 쌍곡 함수를 설명합니다:

| 함수 | 설명 |
| - | - |
| sinh(x) | 쌍곡 사인 |
| cosh(x) | 쌍곡 코사인 |
| tanh(x) | 쌍곡 탄젠트 |

<h3 id="example-expressions">
  예시 표현식
</h3>

다음은 선형 플롯 축을 위한 예시 표현식입니다. 이 예시들은 설명을 위한 것입니다. 이전 섹션에서 설명한 Operator와 함수의 조합을 사용하여 필요에 맞는 복잡한 표현식을 만들 수 있습니다.

다음 예시의 경우, [summary 메트릭](/ko/products/wandb/track/log/log-summary#log-summary-metrics)에 `accuracy`와 `loss`가 다음 값으로 포함되어 있다고 가정합니다:

```json Summary metrics theme={"system"}
{
  "accuracy": 0.7829240801794489,
  "loss": 0.2194763318905079
}
```

그리고 설정이 다음과 같다고 가정해 보겠습니다:

```json Config parameters theme={"system"}
config = {
    "epochs": 100,
    "optimizer": {
        "value": {
            "lr": 0.001,
            "weight_decay": 0.01
        }
    }
}
```

정확도 메트릭에 상수 값을 더해 수직으로 이동합니다. 다음 예시에서 정확도를 1만큼 위로 이동합니다:

```javascript theme={"system"}
1 - accuracy
```

메트릭을 상수 값(이 경우 학습률(`lr`))만큼 수직으로 이동합니다:

```javascript theme={"system"}
accuracy+${config:optimizer.value.lr}
```

메트릭의 사인을 계산합니다. 다음 예시에서는 loss 메트릭의 사인을 계산합니다:

```javascript theme={"system"}
sin(loss)
```

사인 함수를 적용하여 메트릭에 위상 이동을 적용합니다. 예시: 사인 함수를 적용하고 loss 메트릭을 2만큼 위상 이동합니다:

```javascript theme={"system"}
sin(loss - 2)
```

`batch_size`라는 이름의 설정 매개변수로 정확도 메트릭을 재조정합니다:

```javascript theme={"system"}
${accuracy} / ${config:batch_size}
```

두 메트릭의 최솟값을 계산합니다. 다음 예시에서는 loss와 정확도의 최솟값을 계산합니다.

```javascript theme={"system"}
min(loss, accuracy)
```

두 메트릭의 제곱합의 제곱근을 계산합니다. 다음 예시에서는 loss와 정확도의 제곱합의 제곱근을 계산합니다:

```javascript theme={"system"}
sqrt(loss ** 2 + accuracy ** 2)
```

loss의 지수를 계산합니다. 다음 예시에서는 loss 메트릭의 지수를 계산합니다:

```javascript theme={"system"}
sqrt(loss*100)+sqrt(loss*100000)
```

<Note>
  표현식에서 `${summary:metric_name}` 구문을 사용하여 summary 메트릭 값을 참고할 수도 있습니다. 예시:

  ```javascript theme={"system"}
  sqrt(${summary:loss}*100)+sqrt(${summary:loss}*100000)
  ```
</Note>

<h3 id="multi-metric-panel-expressions">
  멀티 메트릭 패널 표현식
</h3>

정규 표현식을 사용하면 여러 메트릭을 함께 표시하는 단일 선형 플롯을 만들 수 있습니다(이후에 로깅되는 일치 메트릭도 포함됩니다). 자세한 방법은 [선형 플롯 추가](/ko/products/wandb/app/features/panels/line-plot#multi-metric-line-plot)를 참조하세요.

예시:

* 레이어별 메트릭마다 패널을 따로 만들지 않고 하나의 패널에서 함께 볼 수 있습니다. 예를 들어 `layer_0_loss`, `layer_1_loss`, `layer_2_loss`처럼 일관된 이름 규칙으로 메트릭을 로깅한다면, `layer_\d+_loss`와 같은 정규 표현식으로 모든 레이어의 loss를 하나의 플롯에 표시할 수 있습니다.
* 공통 이름 패턴을 가진 메트릭을 모두 일치시킵니다. 예를 들면 다음과 같습니다.
  * `train_.*`는 `train_loss`, `train_accuracy`, `train_f1_score`와 같은 모든 트레이닝 메트릭과 일치합니다.
  * `.*_accuracy`는 `train_accuracy`, `val_accuracy`, `test_accuracy`와 같이 여러 데이터셋의 정확도 메트릭과 일치합니다.
* 교대(alternation)를 사용해 원하는 메트릭만 일치시킵니다. 예를 들어 비캡처 그룹 `(?:layer_0|layer_10)_loss`는 중간 레이어를 제외하고 첫 번째와 열 번째 레이어의 loss만 일치시킵니다.

<h4 id="capture-groups">
  캡처 그룹
</h4>

정규 표현식의 캡처 그룹에 따라 다중 메트릭 패널이 생성되는 방식이 달라집니다. 이 동작을 미리 알지 못하면 혼란스러울 수 있습니다.

* **캡처 그룹은 여러 패널을 생성합니다**
  정규 표현식에 캡처 그룹을 이루는 괄호가 있으면, UI는 해당 그룹이 캡처한 고유한 값마다 별도의 패널을 생성합니다.

  예를 들어 표현식 `(layer_0|layer_10)_loss`에는 캡처 그룹이 포함되어 있으므로 다음과 같이 두 개의 패널이 따로 생성됩니다.

  1. `layer_0`과 일치하는 메트릭을 표시하는 패널
  2. `layer_10`과 일치하는 메트릭을 표시하는 패널

* **비캡처 그룹은 메트릭을 한 패널에 모아 표시합니다**
  패널을 따로 만들지 않고 여러 대안 중 하나와 일치시키려면 `?:` 구문으로 비캡처 그룹을 사용하세요. 표현식 `(?:layer_0|layer_10)_loss`는 앞의 예시와 동일한 메트릭과 일치하지만, 이를 하나의 패널에 함께 표시합니다.

차이점은 다음과 같습니다.

* `(layer_0|layer_10)_loss` - 레이어별로 하나씩, 총 두 개의 패널을 생성합니다.
* `(?:layer_0|layer_10)_loss` - 두 레이어를 함께 표시하는 패널 하나를 생성합니다.

따라서 분석 목적에 가장 알맞은 방식을 유연하게 선택할 수 있습니다. 메트릭을 서로 다른 패널로 나누어 보려면 캡처 그룹을 사용하세요. 하나의 플롯에서 메트릭을 함께 비교하려면 비캡처 그룹을 사용하세요.
