퍼지 논리로 다루는 불확실성과 규칙 기반 추론

퍼지 집합과 퍼지 논리의 소속함수, 규칙 추론, 비퍼지화 과정을 정리하고 제어·평가·추천·신호처리 활용을 살펴봅니다.

2026-08-14 · 최초 발행 2025-10-14

경계가 흐린 입력을 규칙으로 계산하는 방법

퍼지(Fuzzy)는 인간 언어와 사고에 포함된 애매함을 수리적으로 다루는 인공지능 이론이다. 참과 거짓만으로 나누기 어려운 상황에서 정도성(graduality)과 부분소속(partial membership)을 표현해, 불확실한 조건 아래의 추론과 제어를 가능하게 한다.

퍼지 집합(Fuzzy Set)은 원소 x가 집합 A에 속하는 정도를 소속함수 μ_A(x)로 매핑한다. 이 값은 0~1의 실수이며, 이진 논리의 ‘속한다’와 ‘속하지 않는다’를 ‘어느 정도 속하는가’로 확장한다.

퍼지 논리(Fuzzy Logic)는 참값을 [0,1]의 연속값으로 취급하는 논리 체계다. AND, OR, NOT은 각각 min, max, 1-μ 등의 연산자로 구현할 수 있다.

확률과 퍼지는 같은 문제를 설명하는 방식이 다르다. 확률은 사건 발생의 빈도와 불확실성을 나타내며, 퍼지는 개념 경계의 모호성과 정도성을 표현한다. 둘은 상보적이므로 함께 사용할 수 있다.

입력값을 출력으로 바꾸는 퍼지 추론

퍼지 시스템은 실수 입력을 소속함수로 옮기는 퍼지화(Fuzzification)에서 시작한다. 이 단계는 입력 잡음과 스케일 편차에 대한 내성을 확보한다.

이후 규칙 추론(Inference) 단계에서 if-then 규칙과 min/max, product/sum 같은 퍼지 연산을 사용해 활성화도를 계산한다. 마지막 비퍼지화(Defuzzification)는 centroid 등의 방법으로 결과를 실수값으로 정하고, 이를 제어나 의사결정에 직접 적용한다.

여러 지역 규칙과 비선형 소속함수를 조합하면 복잡한 비선형 매핑을 근사할 수 있다. 데이터가 희소하거나 물리 모델을 다루기 어려운 시스템에서는 전문가 지식을 규칙으로 정식화하는 방법이 된다.

부분소속과 규칙 집계는 이상치와 부정확한 데이터에 대한 관용성(tolerance)도 제공한다. 규칙이 중첩된 구조에서는 단일 센서 고장이 전체 결과에 미치는 영향을 완화해 graceful degradation을 구성할 수 있다.

입력 정규화, 소속함수 설계, 규칙 설계, 추론과 집계, 비퍼지화, 출력의 순서로 구현하며, 이진 논리에서 소속함수와 수학적 연산·집계를 거쳐 퍼지 제어기나 퍼지 집합으로 이어지는 흐름이다.

누락/노이즈 감지임계 미만 결측노이즈 과다입력 센서값 x정규화/스케일링퍼지화: μ_A(x), μ_B(x)...규칙 평가: IF ... THEN ...집계: max/sum비퍼지화: centroid, bisector출력 u에러 처리기본 규칙/안전 출력가중치 완화/필터링

이 흐름에서는 입력부터 처리와 출력까지의 단계를 분명히 하고, 결측·노이즈 조건에 따른 분기와 안전 동작 정책을 함께 둔다.

연속형과 이산형으로 표현하는 소속도

연속형 퍼지 집합은 μ_A(x)가 연속 영역에서 정의되는 방식이다. 삼각형, 사다리꼴, 가우시안 등이 여기에 해당한다. 매끄러운 추론과 미분 가능한 설계가 장점이지만, 연산할 때 적분이나 샘플링이 필요하다.

이산형 표현은 유한한 샘플 격자에서 μ_A(x_i)로 소속도를 나타낸다. 구현이 단순하고 임베디드 환경에 적합한 반면, 해상도에 의존하며 계단식 추론이 나타날 수 있다.

크리스프 논리와 퍼지 논리의 차이

지표 이진 논리(크리스프) 퍼지(Fuzzy)
성능 연산 단순, 매우 고속 규칙·샘플 수에 비례, 실시간 구현 가능 범위 넓음
확장성 규칙 폭증 시 급격한 복잡도 지역 규칙 추가로 점진 확장 용이
일관성 경계 근처 불연속, 깜빡임 현상 가능 연속적 전이, 경계 효과 완화
안정성 모델 단순 시 높음, 노이즈 취약 소속 중첩·집계로 잡음 내성 향상
운영 편의 해석 단순, 표현력 제한 해석 가능성 유지, 조정 파라미터 많음

제어·평가·검색에서의 적용

HVAC와 보일러의 온도 제어, 모터 속도와 토크 제어, UAV 자세 안정화는 퍼지 제어(Fuzzy Control)를 적용할 수 있는 대상이다. 제어 변수를 정한 뒤 삼각형·사다리꼴 소속함수를 설계하고, 규칙 베이스 구성, 시뮬레이션 튜닝, 임베디드 배포로 이어간다.

제품 품질 평가, 신용·리스크 스코어링, 장비 상태 진단처럼 데이터가 완전하지 않은 업무에도 쓸 수 있다. 예를 들어 “진동 높음 AND 온도 약간 높음 → 이상 가능성 높음”처럼 조건과 판단을 규칙으로 기록한다.

정보 검색과 추천에서는 “조금 비싼”, “매우 가까운”처럼 경계가 모호한 질의를 퍼지 방식으로 해석해 랭킹에 반영할 수 있다. 텍스트와 메타데이터의 소속도를 결합해 사용자 의도를 반영한다.

컴퓨터 비전과 신호처리에서는 퍼지 임계화와 에지 검출로 조명 변화·노이즈에 강한 전처리를 수행하고, 여러 특징을 퍼지 집계해 강건한 분할(segmentation)을 구현한다.

측정 지표와 운영상의 선택

제어에서는 오버슈트, 정착시간, 제어 에너지의 평균·분산 최소화를 지표로 삼는다. 검출에서는 ROC-AUC, F1, 임계 근처 입력에서의 출력 연속성 지표(Lipschitz 근사)를 살핀다. 운영에서는 지연시간, 규칙 수, 샘플 해상도 대비 CPU·메모리 사용량을 함께 본다.

전문가 지식을 규칙으로 보존하면 설명 가능성과 지식 보전에 도움이 된다. 경계 현상을 완화하면 사용자 체감 품질을 높이고, 노이즈 환경에서 서비스 안정성을 높일 수 있다.

소속함수는 간결성을 우선해 삼각형과 사다리꼴을 기본으로 두고, 필요한 축에만 가우시안을 적용한다. 가우시안의 매끄러움과 삼각형의 계산비용·튜닝 용이성 사이에는 트레이드오프가 있다.

규칙 베이스는 5±2 규칙 세트 단위로 모듈화하고 충돌 규칙 검출을 자동화한다. 규칙형 해석 가능성과 규칙 수 증가에 따른 근사 정밀도도 함께 조정해야 한다.

추론과 비퍼지화에서는 Mamdani의 설명력과 Sugeno의 연속성·미분 가능성을 비교할 수 있다. Centroid는 일반적이고 Height는 경량이라는 차이가 있으며, 정확도와 실행시간의 균형이 선택 기준이 된다.

입력 정규화와 클리핑을 의무화하고 결측·이상치 방어 규칙을 둔다. 임베디드 환경에서는 고정소수점과 루크업 테이블로 실시간성을 확보한다.

온도 오차를 히터 파워로 연결하는 예시

Python 3.10과 scikit-fuzzy 환경에서 온도 오차 e ∈ [-5, 5], 히터 파워 출력 u ∈ [0, 100]을 전제로 한다.

e에는 Cold, Warm, Hot 소속함수를 정의한다. 규칙은 IF e is Cold THEN u is High, IF e is Warm THEN u is Medium, IF e is Hot THEN u is Low로 구성하며, min-max 추론과 centroid 비퍼지화로 u를 산출한다.

실행 시 pip install scikit-fuzzy로 설치할 수 있다. 복잡한 규칙에는 skfuzzy.control.ControlSystem 사용을 권장한다.

퍼지 논리퍼지 집합인공지능규칙 기반 추론퍼지 제어