1 / 19

인공지능시스템 (Artificial Intelligence)

생성시스템과 추론 (Production system & Reasoning) 최 윤 정. 인공지능시스템 (Artificial Intelligence). 생성시스템. 생성시스템 (production system) 은 규칙 또는 생성규칙 (production rule) 를 바탕으로 지식을 표현하고 , 새로운 지식 ( 사실 ) 을 생성해 내는 시스템 또는 에이전트 . ( 1) 생성규칙들의 모임인 생성 메모리 (production memory)

pancho
Télécharger la présentation

인공지능시스템 (Artificial Intelligence)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 생성시스템과추론(Production system & Reasoning) 최 윤 정 인공지능시스템(Artificial Intelligence)

  2. 생성시스템 • 생성시스템(production system)은 규칙 또는 생성규칙(production rule)를 바탕으로 지식을 표현하고, 새로운 지식(사실)을 생성해 내는 시스템 또는 에이전트. • (1) 생성규칙들의 모임인 생성 메모리(production memory) • (2) 현재의 상태를 나타내는 버퍼(buffer)와 비슷한 데이터 구조로서의 작업 메모리(working memory 또는 context) • (3) 시스템의 운영을 관장하는 인터프리터(interpreter) • 생성규칙 • “If this condition hold, then this action is appropriate” 와 같은 조건과 이 조건의 만족 시 수행되는 행동(결론)의 쌍 • Execute와 fire • 조건부가만족된 규칙의 결론 execute될 수 있다. • Fire : 인터프리터에 의해 execute가 수행되는 것. • 작업 메모리 : 심볼(symbol)들의 단순한 리스트 • Context List(CL)라고한다.

  3. 동물농장 : 규칙표현 • 특징들로부터 동물의 이름을 알아내자 : identifier • 생성규칙 : 규칙 1 ~ 4는 포유동물(mammal)과 조류(bird)를 구분하기 위한 것. • 규칙 P1. IF the animal has hair THEN it is a mammal • 규칙 P2. IF the animal gives milk THEN it is a mammal • 규칙 P3. IF the animal has feathers THEN it is a bird • 규칙 P4. IF the animal flies AND it lays egg THEN it is a bird

  4. 동물농장 : 규칙표현 • 육식동물(carnivore)인가를 규정하기 위해 다음 2개의 규칙이 필요하다. • 규칙 P5. IF the animal is a mammal AND it eats meat THEN it is a carnivore • 규칙 P6. IF the animal is a mammal AND it has pointed teeth AND it has claws AND its eyes point forward THEN it is a carnivore • 유제류(ungulate)는 발굽(hoof)이 있는 동물이다. • 규칙 P7. IF the animal is a mammal AND it has hoofs THEN it is an ungulate • 유제류의 다른 특징은 되새김(cud)을 하는 것이다. • 규칙 P8. IF the animal is a mammal AND it chew cud THEN it is an ungulate AND it is even-toed

  5. 동물농장 : 규칙표현 • 육식류에는 다음의 두 가지 동물이 있다. : cheetah, tiger • 규칙 P9. IF the animal is a carnivore AND it has a tawny color AND it has dark spots THEN it is a cheetah • 규칙 P10. IF the animal is a carnivore AND it has a tawny color AND it has black stripes THEN it is a tiger • 유제류에서는 다음의 두 가지 동물이 있다.: Giraffe, Zebra • 규칙 P11. IF the animal is an ungulate AND it has long legs AND it has a long neck AND it has a tawny color AND it has dark spots THEN it is a giraffe • 규칙 P12. IF the animal is an ungulate AND it has a white color AND it has black stripes THEN it is a zebra

  6. 동물농장 : 규칙표현 • 다음은 P13, P14, P15는 조류에 관한 것이다. : Ostrich, penguin, Albatross • 규칙 P13. IF the animal is a bird AND it does not fly AND it has long legs AND it has a long neck AND it is black and white THEN it is a ostrich • 규칙 P14. IF the animal is a bird AND it does not fly AND it swims AND it is black and white THEN it is a penguin • 규칙 P15. IF the animal is a bird AND it is a good flyer THEN it is an albatross • 어떤 동물들은 서로 같은 특징을 지니고 있다. • 얼룩말과 호랑이는 검은 띠. 호랑이와 치타와 기린은 황갈색 • 기린과 타조는 긴다리와 긴 목 • 타조와 펭귄은 검은색과 하얀색

  7. 동물농장 : 추론의 실행 예 • 추론과정 • 1. 관측된 동물은 황갈색과 검은 점(dark spot)을 지닌다. • 규칙 P9와 P11의 조건부 중 일부가 만족되지만 더 만족되어야 할 부분이 있으므로 수행할 수 없다. • 2. 새끼를 돌보는 도중 동물은 되새김을 하였다. • 분명히 동물은 젖(milk)을 주는데, 이 때 규칙 P2를 수행시켜 포유류임을 알아낸다. • 3. 동물이 포유류이고 되새김을 한다. • P8에 의하여 유제류이며, 발가락이 둘 또는 넷(even-toed)이라고 생각된다. • 4. 동물은 긴 다리와 긴 목을 갖고 있다. • 따라서 P11이 수행되고, 결론은 기린임을 알게 된다. 추론회로(규칙들의 연결상태)

  8. 추론(Inference) • 이미 알고 있는 사실로부터 새로운 사실을 추리해 내는 것. • Vs. 데이터마이닝의정의는? 대량의 정보로부터 기존에는 알려져 있지 않은, not trivial한 정보를 알아내는 기법이자 과정. • 추론 능력 : 인공지능시스템이 기존의 시스템과 구별되는 다른 점 • 연역법(deduction) : 규칙 If A then B + 사실 A  B를 얻는 것 • 유도법(abduction) : ‘IF A THEN B’+ 결론‘B’  사실 ‘A’를 얻어내는 것. • 귀납법(induction) : 관측된 사실로부터 새로운 법칙을 만들어낸다. • 적용 시스템에서는 목표에 따라 더 구체화시키고 완전성을 부여하여 구현되어야 한다. • 진위여부의 검증 • 확률 및 확신도 함수의 사용

  9. 연역법(deduction) • 논리, 의미망및 프레임에서의 추론방식 • 규칙 IF A Then B 와 참으로 주어진 fact ‘A’로부터 B라는 사실을 알아내는 과정 • 이와 같이 얻은 새로운 사실은, 원래 주어져 있는 것들이 모두 참(true)라면 항상 참이므로 • 연역법에 의한 추론은 항상 옳다. • 추론의 완전성(soundness)

  10. 유도법 • 임의의 규칙 IF A THEN B 그리고 ‘B’ 가 주어졌을 때 • ‘A’를 얻어내는 것으로 항상 옳은 결과가 얻어지지는 않는다. • 규칙: IF someone is a mother THEN someone is a woman, • Sue is a woman • 여기서 얻어낼 수 있는 ‘Sue is a mother’가 꼭 옳다고 볼 수는 없다. • 유도법은일종의 추측법이므로 옳은 경우가 있으나 모든 경우에 대해서 완전성을 부여할 수는 없으나 가끔 이용되기도 한다. • 유사추론 (plausible inference) : 그럴 듯해 보이는 추론

  11. 귀납법(induction) • 관측된 사실로부터 새로운 법칙을 만들어 내는 것으로, • IF something is a sparrow THEN it can fly. • IF something is a dove THEN it can fly. • …. • ….. • ….. • ‘IF something is bird THEN it can fly’를 얻어낸다. • 이 역시 항상 옳은 추론은 아니지만 학습(learning)과 관계된다. • Case-based Reasoning • Memory-based Reasoning

  12. 추론의방향 • 조건vs.결론, 적용하는 방향에 따라. • 전방향vs. 후방향 • 전방향추론 • 주어진상황/사실이 존재하는가?(matching) • 만족하는 규칙을 수행하여 결론을 도출해 간다. • 규칙의 개수가 적을 때는 문제가 없으나 규칙의 개수가 많을 때는 추론시간이 지나치게 길어짐. • 하나를 도출하기 위해 그와 관계없는 많은 규칙도 고려해 주어야 하므로 비효율적. • 단점을 보완하기 위해 후방향추론을 함께 사용하기도 한다. • Fuzzy system에서 Modus ponens로 활용된다. 추론사슬(inference chaining) Base(working memory) Z D F A C B

  13. 후방향추론 • 도출해야 할 결론을 정하고 이를 위해 필요한 규칙을 거꾸로 찾아나간다. • Z가존재하는가?  F와 B를 찾는다. 현재 상황에 의해 이 규칙들을 만족시켜가며 Z를 입증시킨다. Base(working memory) Z A F D C B 추론사슬(inference chaining) 후방향추론에 의한 사실 추가과정

  14. 생성시스템에서 고려할 점 • Process : • Matching(정합) : 실행 가능한 생성규칙을 찾아낸다. • Conflict resolution(충돌해결) : 선택된 규칙 중 수행할 하나를 고른다. • Execute(실행) :선택된 규칙을 실행한다. • 가장 많은 연산시간 및 자원을 소비하는 단계는? Matching. • 생성시스템의 규모 및 복잡성이 증가함에 따라 • 생성메모리내의 규칙의 조건부와 행동부도 확장되었고 과정과 데이터구조 등에서 효율성에 관한 문제가 고려된다. • Matching :주어진 상황에 만족하는 규칙 빨리 찾기 : • 규칙의색인화(indexing) 및 분할(indexing) • Filtering : 작업메모리에 삽입/제거될 때, 이에 영향을 받는 규칙을 필터링 한다. • 결국 Problem state(문제상태정의공간) 를 줄여나가는 일.!

  15. 생성시스템에서 고려할 점 • 충돌해결(Conflict Resolution) • 대형시스템에서는 각 주기에서 수행하는 규칙이 하나 이상인 경우가 많다.  충돌집합. 이중 하나를 선택하기 위한 정책이 제시되어왔다. • 1) 최초의 규칙 : 생성메모리에 들어온 순서상 가장 첫 번째 : stack 구조 • 2) 가장 높은 우선순위(priority)를가진 규칙: 문제 분야의 성격에 따라 각 규칙에 우선순위를 부여한다. • 3) 현재의 작업메모리에서 만족되는 가장 특별한 규칙 : 가장 세분화된 조건을 갖는 규칙. – 예)논리곱요소(conjunct)가 많다. • 4) 작업메모리에 삽입된 가장 최근의 정보로 만족된 규칙 • 5) 가장 새로운 규칙 : 즉, 이전에는 수행되지 않았던 규칙 • 6) 임의의 규칙 • 이러한 방법들 중에서 서로 다른 조합을 사용하기도 하고, 문제에 적합하도록 스케쥴링 알고리즘을 세워 사용하기도 한다.

  16. 생성시스템에서 고려할 점 : 추론방향의 결정 • 전방향추론과후방향추론 중 어느것이 더 좋은가?? • 추론의 목적과 문제 분야의 성격에 의하여 결정된다. • 불필요한 사실의 유도를 막아보자.! • 목적이 주어진 사실로부터 유도될 수 있는 모든 것을 찾아내기 위한 것이라면? • 전방향추론이바람직. • 목적이 특별히주어진 결론을 입증하거나 부정하고자 하는 것이라면? • 결론의 반대방향으로 출발하는 후방향추론이바람직. • 후방향추론은 주어진 전제로부터 후방향 추론할 때는, 적당한 규칙이 존재하는 한, 주어진 결론이 입증되기까지 계속 된다. • 따라서, 만일, 더 적용할 규칙이 없을 때에는 입력장치를 통하여 정보를 입수하거나 사용자가 개입하도록 설계하는 것이 좋다.

  17. 생성시스템에서 고려할 점 : 추론능력 및 설명력 • 추론과정에 대한 설명능력 • 생성시스템을 포함한 규칙을 이용한 모든 시스템은, 추론과정을 설명할 수 있다. • Semantic Network vs. Neural Network.! • 설명력 • Why?! : 해당 결론을 위해 어떤 사실이 사용되었는가? • 전방향으로한단계씩 진행하여 알 수 있다. • How?! : 주어진 결론에 대한 사실들을 어떻게 얻어낼 수 있었는가에 대해 답하는 능력 • 후방향으로 한 단계씩 추적하여 관계된 규칙들과 조건부들을 언급한다. • 같은 결론이더라도 base와 정의된 규칙의 상태에 따라 설명력, 즉 추론과정의 단계 및 길이가 다르다. • 단순하고 짧은 규칙들을 모아 논리곱 형태의 well-defined상태로 표현하는 것이 필요하다. • KM 샘플 중에서 family doctor 참고.

  18. 생성시스템에서 고려할 점 : 확신율 • 해당규칙이 얼마나 확실한가? 를 반영하는 값. == 신뢰도! • 확신율(certainty factor): 0 ~ 1사의 수치값 • 생성시스템이 유도해 내는 결론이 항상 옳지는 않다. 왜? • 사실들, 상황들에 대한 진위 및 update , 유효성의 여부 • case 별로 수집된 정보들로 이루어진 규칙이라면.? • 관계된사실이 얼마나 확실한가를 반영하는 0은 완전히 불확실. • 1은완전히 확실한 것을 나태낸다. • -1 ~ +1로사용하는 시스템도 있으나 보편적으로 0~1 사이의 값을 사용한다. • 추후, naïve baysian등의 확률기반 알고리즘을 사용하는 학습과정에서 다시설명하도록 합니다.

  19. 생성시스템에서 고려할 점 : 확신율의 계산 • 확신율을 계산하기 전 다음의 질문과 답이 필요하다.! • 1. 입력 확신율(input certainty)과 선택: 각 규칙의 조건부에서, 각 조건들에 부여된 확신율들의 관계는? 최소값을가진 조건 • 2. 규칙그 자체에서 입력 확신율이 어떻게 행동부의 확신율(출력환신율)에 영향을 주는가? • 3. 여러 규칙의 결론이 같은 사실을 추론할 때, 이 추론결과의 확신율은 어떻게 결정되는가? 최대값을 유도하는 조건으로. • 감쇠율(attenuation factor) :규칙자체에 신뢰도를 부여하고출력 확신율을 계산한다. • 유도된 사실의 확신을 평가하는 예 • (a) 규칙의 각 조건에 관계된 확신율 중 제일 작은 값(Min)으로 정한다. • (b) 입력 확신율에감쇠율을 곱하여 행동부의 확신율로 한다. • (c) 산출된 사실의 확신율 중에서 가장 큰 값(Max)으로 정한다.

More Related