For the complete documentation index, see llms.txt. This page is also available as Markdown.

변경 사항 식별

임베딩을 통해 이전 데이터와 비교하여 변경 사항을 식별합니다.

임베딩 벡터를 시간에 따라 추적하고, 코사인 유사도 변화를 측정하며, 변화율 통계를 계산하고, 변화 감지, 이상 모니터링, 변화율 분석, 시계열 패턴 감지 워크플로에서 변화가 예상보다 빠르거나 느리게 발생할 때 이상으로 표시하여, 과거 기준과 비교해 비정상적인 속도로 데이터 패턴이 바뀌는 시점과 변화를 식별합니다.

이 블록의 작동 방식

이 블록은 임베딩이 시간에 따라 얼마나 빠르게 변하는지 모니터링하고 현재 변화율을 과거 패턴과 비교하여 변화를 감지합니다. 이 블록은:

  1. 현재 데이터 포인트의 특징을 나타내는 임베딩 벡터를 수신합니다

  2. 임베딩을 단위 길이로 정규화합니다:

    • 코사인 유사도 계산을 위해 임베딩을 단위 벡터(길이 = 1)로 변환합니다

    • 거리 기반 메트릭이 아니라 각도 유사도를 사용한 비교를 가능하게 합니다

    • 정규화를 건너뛰어 0 벡터를 우아하게 처리합니다

  3. 샘플 수와 워밍업 상태를 추적합니다:

    • 처리된 각 임베딩에 대해 샘플 카운터를 증가시킵니다

    • 아직 워밍업 기간인지(샘플 < 워밍업 매개변수) 판단합니다

    • 워밍업 동안에는 기준선 설정을 허용하기 위해 이상값이 식별되지 않습니다

  4. 다음 세 가지 전략 중 하나를 사용하여 임베딩 평균과 표준편차에 대한 실행 통계를 유지합니다:

    지수 이동 평균(EMA) 전략의 경우:

    • smoothing_factor를 사용한 지수 이동 평균으로 평균과 분산을 업데이트합니다

    • 더 최근의 임베딩에 더 큰 가중치가 부여됩니다(smoothing_factor에 의해 제어됨)

    • 과거 맥락을 유지하면서 최근 추세에 빠르게 적응합니다

    • smoothing_factor가 응답성을 결정합니다(값이 높을수록 최근 변화에 더 민감함)

    단순 이동 평균(SMA) 전략의 경우:

    • Welford 방법을 사용하여 실행 평균과 분산을 계산합니다

    • 모든 과거 샘플이 통계에 동일하게 기여합니다

    • 시간에 따라 안정적이고 편향되지 않은 추정치를 제공합니다

    • 일관적이고 장기적인 추적에 매우 적합합니다

    슬라이딩 윈도우 전략의 경우:

    • 최근 임베딩의 고정 크기 윈도우(window_size)를 유지합니다

    • 윈도우 크기를 초과하면 가장 오래된 임베딩을 제거합니다(FIFO)

    • 윈도우 내용만으로 평균과 표준편차를 계산합니다

    • 오래된 정보를 버리고 최근 추세에 빠르게 적응합니다

  5. 현재 임베딩과 실행 평균 사이의 코사인 유사도를 계산합니다:

    • 현재 임베딩이 일반적인 임베딩 패턴과 얼마나 유사한지 측정합니다

    • 코사인 유사도는 -1(반대)에서 1(동일)까지의 범위를 가집니다

    • 1에 가까운 값은 임베딩이 기준과 유사함을 나타냅니다

    • 1에서 더 멀리 떨어진 값은 임베딩이 기준과 다름을 나타냅니다

  6. 코사인 유사도 통계를 모니터링하여 변화율을 추적합니다:

    • 코사인 유사도 값의 실행 평균과 표준편차를 유지합니다

    • 코사인 유사도 추적에도 동일한 전략(EMA, SMA 또는 슬라이딩 윈도우)을 사용합니다

    • 임베딩이 과거 변화율과 비교해 얼마나 빠르게 변하고 있는지 측정합니다

    • 평균 변화율과 변화율의 변동성을 모두 추적합니다

  7. 현재 코사인 유사도에 대한 z-점수를 계산합니다:

    • 현재 코사인 유사도가 평균에서 표준편차 기준으로 몇 개인지 측정합니다

    • z-점수 = (현재_코사인_유사도 - 평균_코사인_유사도) / 코사인_유사도_표준편차

    • 양의 z-점수는 평소보다 더 빠른 변화를 나타냅니다

    • 음의 z-점수는 평소보다 더 느린 변화를 나타냅니다

  8. z-점수를 백분위로 변환합니다:

    • 오차 함수(erf)를 사용하여 z-점수를 백분위 위치로 변환합니다

    • 백분위는 현재 변화율이 과거 변화율 중 어디에 위치하는지를 나타냅니다

    • 0.0에 가까운 값은 비정상적으로 느린 변화를 의미합니다(낮은 백분위)

    • 1.0에 가까운 값은 비정상적으로 빠른 변화를 의미합니다(높은 백분위)

  9. 백분위 임계값을 기준으로 이상값 상태를 판단합니다:

    • 백분위가 threshold_percentile/2보다 낮으면 이상값으로 표시합니다(비정상적으로 느린 변화)

    • 백분위가 (1 - threshold_percentile/2)보다 높으면 이상값으로 표시합니다(비정상적으로 빠른 변화)

    • 비정상적으로 빠른 변화율과 비정상적으로 느린 변화율을 모두 감지합니다

  10. 다음 반복을 위해 실행 통계를 업데이트합니다:

    • 선택한 전략을 사용하여 임베딩 평균과 표준편차를 업데이트합니다

    • 선택한 전략을 사용하여 코사인 유사도 평균과 표준편차를 업데이트합니다

    • 워크플로 실행 간 상태를 유지합니다

  11. 여섯 개의 출력을 반환합니다:

    • is_outlier: 변화율이 이상인지 여부를 나타내는 불리언 플래그

    • percentile: 변화율이 과거에 어느 위치인지 나타내는 0.0-1.0 범위의 실수 값

    • z_score: 평균 변화율에서 몇 표준편차 떨어져 있는지 나타내는 실수 값

    • average: 현재 평균 임베딩 벡터(과거 임베딩의 실행 평균)

    • std: 임베딩의 현재 표준편차 벡터(각 차원별 변동성)

    • warming_up: 아직 워밍업 기간인지 나타내는 불리언 플래그

이 블록은 변화율 을 단순히 이상값을 감지하는 대신 모니터링합니다. 임베딩이 얼마나 빠르게 변하는지 추적하고 이를 과거 변화 패턴과 비교합니다. 임베딩이 과거보다 훨씬 빠르거나 느리게 변하면 이 블록은 이를 이상으로 표시합니다. 따라서 갑작스러운 패턴 변화, 장면의 예상치 못한 변화, 비정상적인 행동 패턴을 감지하는 데 이상적입니다. 세 가지 전략(EMA, SMA, 슬라이딩 윈도우)은 응답성과 안정성 사이의 서로 다른 절충점을 제공합니다.

일반적인 사용 사례

  • 변화 감지: 장면, 환경 또는 패턴이 예상치 못하게 변할 때 감지합니다(예: 장면 변화 감지, 갑작스러운 패턴 전환 식별, 예상치 못한 환경 변화 표시). 이를 통해 변화 감지 워크플로를 구현할 수 있습니다

  • 이상 모니터링: 행동 또는 패턴의 비정상적인 변화를 모니터링합니다(예: 비정상적인 행동 변화 감지, 비정상적인 패턴 변동 모니터링, 예상치 못한 변화율 표시). 이를 통해 이상 모니터링 워크플로를 구현할 수 있습니다

  • 변화율 분석: 데이터 스트림에서 비정상적인 변화율을 분석하고 감지합니다(예: 비정상적으로 빠른 변화 감지, 비정상적으로 느린 변화 식별, 변화율 패턴 모니터링). 이를 통해 변화율 분석 워크플로를 구현할 수 있습니다

  • 시계열 패턴 감지: 시계열 패턴이 예상 변화율에서 벗어날 때를 식별합니다(예: 패턴 중단 감지, 타임라인 이상 식별, 시계열 불일치 표시). 이를 통해 시계열 패턴 감지 워크플로를 구현할 수 있습니다

  • 품질 모니터링: 품질 또는 특성의 예상치 못한 변화를 모니터링합니다(예: 품질 저하 감지, 예상치 못한 품질 변화 식별, 특성 변동 모니터링). 이를 통해 품질 모니터링 워크플로를 구현할 수 있습니다

  • 이벤트 감지: 비정상적인 변화율을 기반으로 중요한 이벤트를 감지합니다(예: 중요한 이벤트 감지, 중요한 변화 식별, 주목할 만한 패턴 전환 표시). 이를 통해 이벤트 감지 워크플로를 구현할 수 있습니다

다른 블록에 연결하기

이 블록은 임베딩을 입력으로 받아 is_outlier, percentile, z_score, average, std, warming_up 출력을 생성합니다:

  • 임베딩 모델 블록 다음에 (CLIP, Perception Encoder 등) 임베딩에서 변화율을 분석합니다(예: CLIP 임베딩에서 변화 감지, Perception Encoder 변화율 분석, 임베딩 기반 변화 모니터링). 이를 통해 임베딩-변화 워크플로를 구현할 수 있습니다

  • 분류 또는 감지 블록 다음에 임베딩과 함께 사용하여 비정상적인 변화 패턴을 식별합니다(예: 비정상적인 감지 변화 감지, 이상 분류 변화 표시, 예측 패턴 변화 모니터링). 이를 통해 예측-변화 워크플로를 구현할 수 있습니다

  • 로직 블록 이전 Continue If와 같은 블록과 함께 변화 감지 결과에 따라 결정을 내립니다(예: 변화가 감지되면 계속, 변화율에 따라 필터링, 비정상적인 변화에서 작업 트리거). 이를 통해 변화 기반 의사결정 워크플로를 구현할 수 있습니다

  • 알림 블록 앞에서 변화 감지에 대해 알림을 보냅니다(예: 중요한 변화 알림, 패턴 전환 알림, 변화율 이상 알림). 이를 통해 변화 기반 알림 워크플로를 구현할 수 있습니다

  • 데이터 저장 블록 앞에서 변화 정보를 기록합니다(예: 변화 데이터 로깅, 변화 통계 저장, 변화율 메트릭 기록). 이를 통해 변화 데이터 로깅 워크플로를 구현할 수 있습니다

  • 모니터링 파이프라인에서 변화 감지가 지속적 모니터링의 일부인 경우(예: 관측 시스템의 변화 모니터링, 패턴 변동 추적, 모니터링 워크플로에서 이상 감지). 이를 통해 변화 모니터링 워크플로를 구현할 수 있습니다

요구 사항

이 블록은 입력으로 임베딩이 필요합니다(일반적으로 CLIP 또는 Perception Encoder와 같은 임베딩 모델 블록에서 제공됨). 이 블록은 워크플로 실행 간 내부 상태를 유지하며, 임베딩과 코사인 유사도 값 모두에 대한 실행 통계를 추적합니다. 워밍업 기간(처음 워밍업 샘플) 동안에는 이상값이 식별되지 않으며 블록은 is_outlier=False, percentile=0.5, warming_up=True를 반환합니다. 워밍업 후에는 블록이 선택한 전략(EMA, SMA 또는 슬라이딩 윈도우)을 사용하여 통계를 추적하고 변화율 이상을 감지합니다. threshold_percentile 매개변수(0.0-1.0)는 민감도를 제어합니다. 값이 낮을수록 극단적인 변화율만 감지하고, 값이 높을수록 더 완만한 변화율 편차까지 감지합니다. 전략 선택은 응답성에 영향을 줍니다. EMA는 최근 추세에 빠르게 적응하고, SMA는 안정적인 장기 추적을 제공하며, 슬라이딩 윈도우는 빠르게 적응하지만 이전 정보를 버립니다. 이 블록은 일관된 임베딩 모델과 가장 잘 작동하며, 데이터의 예상 변동성과 변화 패턴에 따라 threshold_percentile과 전략을 조정해야 할 수 있습니다.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/identify_changes@v1 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

워크플로우에서 단계의 고유 이름.

전략

str

임베딩 및 변화율 통계를 추적하기 위한 통계 전략입니다. '지수 이동 평균(EMA)': 최근 추세에 빠르게 적응하며 최신 데이터에 더 큰 가중치를 둡니다. '단순 이동 평균(SMA)': 안정적인 장기 추적, 모든 데이터가 동일하게 기여합니다. '슬라이딩 윈도우': 빠른 적응, 최근 window_size 샘플만 사용합니다. EMA는 적응형 모니터링에 가장 적합하고, SMA는 안정적인 추적에, 슬라이딩 윈도우는 빠른 적응에 가장 적합합니다..

threshold_percentile

float

변화율 이상 감지를 위한 백분위 임계값입니다. 범위는 0.0-1.0입니다. threshold_percentile/2보다 낮거나 (1 - threshold_percentile/2)보다 높은 변화율은 이상값으로 표시됩니다. 낮은 값(예: 0.05)은 극단적인 변화율만 감지하며 매우 엄격합니다. 높은 값(예: 0.3)은 더 완만한 변화율 편차를 감지하며 더 민감합니다. 기본값 0.2는 하위 10%와 상위 10%의 변화율을 이상값으로 간주합니다. 예상되는 변화율 변동에 따라 조정하세요..

워밍업

정수

변화 감지가 시작되기 전에 필요한 초기 데이터 포인트 수입니다. 워밍업 동안에는 변화율 기준선 설정을 위해 이상값이 식별되지 않습니다(is_outlier=False). 통계 분석을 위해 최소 2개는 필요합니다. 일반적인 범위: 3-100개 샘플. 값이 높을수록 기준선은 더 안정적이지만 변화 감지가 지연됩니다. 값이 낮을수록 더 빨리 감지할 수 있지만 초기 정확도는 떨어질 수 있습니다..

smoothing_factor

float

지수 이동 평균 전략을 위한 평활화 계수(alpha)입니다. 범위는 0.0-1.0입니다. 최근 데이터에 대한 응답성을 제어합니다. 값이 높을수록 최근 변화에 통계가 더 민감해지고, 값이 낮을수록 더 많은 과거 맥락을 유지합니다. 예: 0.1은 현재 값에 10%, 과거 평균에 90%의 가중치를 둡니다. 일반적인 범위: 0.05-0.3. 전략이 '지수 이동 평균(EMA)'일 때만 사용됩니다..

window_size

정수

슬라이딩 윈도우에서 유지할 최근 임베딩의 최대 개수입니다. 이를 초과하면 가장 오래된 임베딩이 제거됩니다(FIFO). 더 큰 윈도우는 더 안정적인 통계를 제공하지만 변화에 더 느리게 적응합니다. 더 작은 윈도우는 더 빠르게 적응하지만 안정성이 떨어질 수 있습니다. 전략이 '슬라이딩 윈도우'일 때만 사용됩니다. 최소 2 이상이어야 합니다. 일반적인 범위: 5-50개 임베딩..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

런타임 호환성

소프트 - 런타임 호스팅 서버리스, 전용 배포; 실행 원격; 입력 비디오 : 이 블록은 프로세스 메모리에서 비디오별 상태를 유지합니다(video_metadata.video_identifier로 키 지정). 상태 비저장 또는 다중 복제 HTTP 런타임에서 원격 단계 실행을 사용하면 연속 요청이 서로 다른 작업자 프로세스에서 처리될 수 있으므로, 상태가 호출 사이에 초기화되어 추적 / 카운팅 / 집계를 위한 출력은 의미가 없어집니다. 안정적인 프레임 간 결과를 위해 지속적인 WebRTC 세션에서 로컬 단계 실행을 사용하세요.

소프트 - 입력 이미지 : 이 블록은 비디오나 반복 프레임 워크플로의 시간적 문맥에 의존합니다. 정지 이미지/사진에는 추적, 비교, 집계 또는 시각화할 의미 있는 히스토리가 없으므로 이 블록은 거의 또는 전혀 이점을 제공하지 않습니다.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 변경 사항 식별 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • embedding (embedding): 현재 데이터 포인트의 특징을 나타내는 임베딩 벡터입니다. 일반적으로 CLIP 또는 Perception Encoder와 같은 임베딩 모델에서 제공됩니다. 임베딩은 코사인 유사도 계산을 위해 단위 길이로 정규화됩니다. 이 블록은 현재 임베딩을 실행 평균과 비교하고 시간에 따른 변화율을 추적합니다..

    • threshold_percentile (0에서 1 사이의 실수): 변화율 이상 감지를 위한 백분위 임계값입니다. 범위는 0.0-1.0입니다. threshold_percentile/2보다 낮거나 (1 - threshold_percentile/2)보다 높은 변화율은 이상값으로 표시됩니다. 낮은 값(예: 0.05)은 극단적인 변화율만 감지하며 매우 엄격합니다. 높은 값(예: 0.3)은 더 완만한 변화율 편차를 감지하며 더 민감합니다. 기본값 0.2는 하위 10%와 상위 10%의 변화율을 이상값으로 간주합니다. 예상되는 변화율 변동에 따라 조정하세요..

    • 워밍업 (정수): 변화 감지가 시작되기 전에 필요한 초기 데이터 포인트 수입니다. 워밍업 동안에는 변화율 기준선 설정을 위해 이상값이 식별되지 않습니다(is_outlier=False). 통계 분석을 위해 최소 2개는 필요합니다. 일반적인 범위: 3-100개 샘플. 값이 높을수록 기준선은 더 안정적이지만 변화 감지가 지연됩니다. 값이 낮을수록 더 빨리 감지할 수 있지만 초기 정확도는 떨어질 수 있습니다..

    • smoothing_factor (0에서 1 사이의 실수): 지수 이동 평균 전략을 위한 평활화 계수(alpha)입니다. 범위는 0.0-1.0입니다. 최근 데이터에 대한 응답성을 제어합니다. 값이 높을수록 최근 변화에 통계가 더 민감해지고, 값이 낮을수록 더 많은 과거 맥락을 유지합니다. 예: 0.1은 현재 값에 10%, 과거 평균에 90%의 가중치를 둡니다. 일반적인 범위: 0.05-0.3. 전략이 '지수 이동 평균(EMA)'일 때만 사용됩니다..

    • window_size (정수): 슬라이딩 윈도우에서 유지할 최근 임베딩의 최대 개수입니다. 이를 초과하면 가장 오래된 임베딩이 제거됩니다(FIFO). 더 큰 윈도우는 더 안정적인 통계를 제공하지만 변화에 더 느리게 적응합니다. 더 작은 윈도우는 더 빠르게 적응하지만 안정성이 떨어질 수 있습니다. 전략이 '슬라이딩 윈도우'일 때만 사용됩니다. 최소 2 이상이어야 합니다. 일반적인 범위: 5-50개 임베딩..

  • 출력

    • is_outlier (boolean): 불리언 플래그.

    • percentile (0에서 1 사이의 실수): float 범위 내 값 [0.0, 1.0].

    • z_score (float): 실수 값입니다.

    • average (embedding): 벡터 임베딩을 나타내는 부동소수점 숫자 목록입니다..

    • std (embedding): 벡터 임베딩을 나타내는 부동소수점 숫자 목록입니다..

    • warming_up (boolean): 불리언 플래그.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?