정보통신 IT/info

퍼지 이론, Fuzzy Theory

Jobs 9 2021. 1. 8. 08:49
반응형
퍼지 논리(fuzzy logic)는 불분명한 상태, 모호한 상태를 참 혹은 거짓의 이진 논리에서 벗어난 다치성으로 표현하는 논리 개념이다. 퍼지 논리는 근사치나 주관적 값을 사용하는 규칙들을 생성함으로써 부정확함을 표현할 수 있는 규칙 기반기술(rule-based technology)이다.

 

퍼지 이론(Fuzzy Theory)

퍼지(Fuzzy)란 영영 사전을 찾아보면 다음과 같이 '애매 모호한' 이라는 뜻을 가지고 있다.

 

 

우리의 일상은 애매모함으로 점철되어 있다. 예를 들어, '저 남자 늘씬하고 멋지다. 저 여자 정말 예쁘다. 쌀 한 움큼. 물이 미지근하다. 오늘 날씨가 쌀쌀하다' 등과 같이 말이다. 이처럼 불완전하고, 부정확한 자료를 처리하기 위해 신경회로망을 사용하기도 한다. 여기에 퍼지 논리(Fuzzy Logic)를 추가하면 또 다른 애매모호한 것에 대한 처리의 상승효과가 가능하다. 

= 퍼지 논리(Fuzzy Logic)이란, 퍼지 이론의 특정한 명시를 이해하고 조정하기 위한 수학적 기술로서 Linguistic variable을 다루기 위한 수학적인 도구를 제공하기 위함이다. 

 

 

 

퍼지 이론은 확률 이론과는 다르다

= 퍼지 멤버쉽(Fuzzy Membership)과 확률의 값은 0~1 사이의 값을 가짐.

= 확률의 1은 어떤 사건이 일어날 확실성을 나타냄.

= 애매모호함(Fuzziness)의 1은 특정 집합에 속하는 대상에 관한 확실성(Fuzzy Set은 경계가 날카롭지 못한 집합)

예) 잘생긴 남자라는 집합이 있으면 1의 값은 그 남자가 잘생긴 남자라는 집합에 속해 있다는...

 

= 주장(assertion) x의 진리도를 [0,1] 사이의 실수로 표시(Jan Lukasiewicz)

 

 

 

퍼지 이론은 다음과 같다

= 퍼지 이론에서의 Union(합집합)과 Intersection(교집합)

: Union은 두 개중 더 큰 것             

: Intersection은 두 개중 더 작은 것     

 

예) 두 개의 Fuzzy Vector가 다음과 같이 정의되면,

A = 0    .3    .7    .4    .8            B = .8    .2    .6    .7    .9

(1) Fuzzy OR(The union of the vectors)

 = .8    .3    .7    .7    .9

(2) Fuzzy AND(The intersection of the vectors)

 = 0    .2    .6    .4    .8

 

= Fuzzy vector의 보수(Complement)

 

 

예) 위의 A 벡터에서 A의 보수는    1    .7    .3    .6    .2

= 따라서, Intersection(A, A')가 0이거나 Union(A, A')가 1이 되는 것이 아님

= 지배된 멤버쉽(Dominated Membership)은 퍼지 집합 A의 모든 요소가 퍼지 집합 B의 대응되는 요소와 같거나 적을 때를 말한다.

예) A = .1 .3 .4        B = .1 .2 .3 .4 

= 'Bart Kosko'는 Fuzzy Vector의 Cardinality(크기)와 Subsetness(부분집합 정도)를 정의

: Cardinality(크기)는 요소(element)들의 합으로 정의.

예) 3차원 벡터 Z = .3 .9 .2 일 때, Cardinality M of Z = 1.4

 

: Subsetness(부분집합 정도)는 다음과 같이 정의

예) A = 0    .3    .7    .4    .8            B = .8    .2    .6    .7    .9

 = 0    .2    .6    .4    .8

M(A) = 2.2    M(B) = 3.2    M(

) = 2.0

 

따라서, A가 B의 부분집합인 정도 S(A,B) = 2.0/2.2 = 0.909이며 B가 A의 부분집합인 정도 S(B, A) = 2.0/3.2 = 0.625

 

 

 

 

  퍼지 이론을 적용한 하이브리드 학습 시스템(Hybrid Learning System)

역전파(Backpropagation)에서의 문제는 적절한 학습률을 선택하기가 어렵다는 것이다. 따라서 학습을 조금 더 잘 조절하여 수렴을 더 잘하기 위해 퍼지 이론을 추가한 하이브리드 학습 시스템을 이용한다. 퍼지 이론이 추가된 역전파(Backpropagation)의 학습은 'Fuzzy Logic Controller'가 추가된 다음의 구조를 따른다.

여기서 Fuzzy Logic Controller는

= Backpropagation 학습을 가지는 다층 퍼셉트론(Perceptron)의 학습 파라미터를 알맞게 하기 위해 사용

= 학습 과정의 수렴율을 개선시키기 위해 사용

= Backpropagation 알고리즘의 unknown learning parameter들의 인간언어적 서술을 도움

예) 역전파 알고리즘이 수렴하지 않을 때, "학습률을 '조금' 낮춰봐라" 라고 말할 수 있는데, 여기서 '조금'이라는 말 자체가 퍼지한 말이기 때문에 이것을 처리하기 위해 퍼지 이론을 적용

 

= Fuzzy Logic Controller의 구성은 다음과 같다

(1) Fuzzification Interface: 입력변수의 값의 범위를 일치하는 논의 영역(Universe of discourse)로 변화시키는 Scale Mapping 작업을 담당

** 여기서 논의 영역이란, 쉽게 말하면 위와 같은 퍼지 시스템의 입력데이터로 간주될 수 있는 가능한 모든 데이터에 대한 집합(영역)이라 보면 된다. 즉, 위의 Scale Mapping 작업이란, Nonfuzzy(crisp)한 입력 데이터를 적절한 언어적 값으로 바꾸는 Fuzzification 작업을 한다는 것이다. 

예) 0.33이라는 값이 입력데이터로 들어오면 이 값은 '조금 작은 값' 이라는 적절한 언어적 값으로 바꿔줌

 

(2) Fuzzy Rule Base: IF-THEN 형태로 쓰여진 언어적 제어 규칙의 집합

 

(3) Fuzzy Inference Machine: Fuzzified Input과 Fuzzy Rule로부터 규칙을 채택하는 의사 결정 논리(Decision-Making Logic)

예) IF temperature is very high, THEN set fan speed very high

와 같이 temperature가 very high라는 fuzzified input과 IF-THEN 규칙으로부터 fan speed를 very high로 세팅하는 규칙(fuzzy control action)을 채택한다.

 

(4) Defuzzication Interface: 출력변수값의 범위로 일치되는 논의 영역(Universe of Discourse)로 바꾸는 Scale Mapping 작업을 진행. 즉, 위의 3단계에서 추론된 fuzzy control action으로 부터 nonfuzzy(crisp) control action을 내는 defuzzication을 진행한다.

**여기서 output data(crisp)는 가능한 분포내에서 중심으로 정의되는 데이터로 생성(Centroid Method)

 

 

 

위와 같은 내용을 토대로 역전파(Back-propagation) 알고리즘 학습의 Fuzzy Control의 주된 아이디어는 알고리즘의 수렴속도를 빠르게 하기 위해서 Fuzzy IF-Then Rule의 형태로 "Heuristic"을 구현하는 것이다. 여기서 Heuristic은 Sum of Squared Error의 E에 의해 조정된다.

예를 들어 다음과 같이 Heuristic을 정의해보자.

(1) CE(Change of Error)를 error surface의 gradient의 근사치라고 하자.

**Error Surface는 신경망에서 n개의 가중치(weight)가 주어졌을 때, 이 가중치에 대한 에러값을 plotting하여 얻은 n차원의 landscape 함수라고 보면 될 듯 하다...

(자세한 내용은 https://www.byclb.com/TR/Tutorials/neural_networks/ch10_1.htm를 참조)

예를 들면, E(n-2) = 0.34    E(n-1) = 0.32    E(n) = 0.33이라면, 

n-1과 n-2 사이의 CE값은 0.32 - 0.34 = -0.02

n과 n-1 사이의 CE값은 0.33 - 0.32 = 0.01

(2) CCE(change of CE)를 수렴의 가속도에 관련된 second-order gradient의 근사치라고 하자.

**쉽게 말하면 위의 예에서 CCE는 두개의 CE의 차이 값인 0.01-(-0.02) = 0.03

(3) Rule Base는 다음과 같이 정한다

1) IF 알고리즘의 여러 연속적인 반복에서 CE가 부호변화가 없는 작은 값이라면, THEN 학습율 변수의 값이 증가되어야만 함

**즉, CE의 값이 계속 (+)이거나 계속 (-)일때는 학습율 변수가 작다고 판단한다는 것이다.

2) IF 알고리즘의 여러 연속적인 반복에서 CE의 부호변화가 일어나면, THEN CCE 값에 관계없이 학습률 파라미터(Learning-rate parameter)의 값이 감소되어야 함

**위의 IF는 Error가 계속 진동되고 있다는 말이므로 학습률이 너무 크다는 뜻

3) IF 알고리즘의 연속적 반복에서 부호변화가 없고 CE와 CCE 둘다 작은 값이라면, THEN 학습률 파라미터의 값과 Momentum Constant값 둘다 증가되어야 함

**대체로 CE가 계속 (-)이면 CCE는 (+)이고, CE가 계속 (+)이면 CCE는 (-)인 경향이 있음을 활용

위의 (1)~(3)의 3가지 Rule을 보면 Error Surface에서의 Gradient의 부호변화는 CE의 부호변화와 동일하다.

 

그러면 마지막으로 위의 Heuristic을 이용하여 다음과 같이 학습률 파라미터(learning-rate parameter)의 퍼지 로직 제어를 위한 결정표(Decision Table 또는 Rule Base of Fuzzy Supervisor)을 만들 수 있다.

CCE

CE

NB

NS 

ZE 

PS 

PB 

 NB

NS

NS

NS

NS

NS

 NS

NS

ZE

PS

ZE

NS

 ZE

ZE

PS

PS

PS

ZE

 PS

NS

ZE

PS

ZE

NS

 PB

NS

NS

NS

NS

NS

(NB: Negative Big, NS: Negative Small, ZE: Zero, PS: Positive Small, PB: Positive Big)

(각각의 경우에 따라 자기가 임의로 구간을 정의해줘야 함. 예를 들면 NB는 학습률이 -0.1~-0.01 이라는 구간이고 NS는 ~0.01~0이라는 구간이고..)

 

예를 들어 위에서 Heuristic을 토대로 CE와 CCE가 각각 ZE, NS 였다면, 학습률 파라미터를 '조금 증가'시켜주는 것이다.

 

위의 테이블과 같이 Momentum Constan에 해당하는 테이블을 만들 수 있을 것이다. 또한, 이 테이블은 아무나 만들어서는 신뢰도가 떨어지고, 실제로 많이 학습시켜봤던 전문가들이 만들어야 신뢰도 높은 퍼지 제어를 할 수 있을 것이다. 

 

반응형