JANGUN


인공지능 개론




목차

1. 인공지능 개요
2. 탐색에 의한 문제 풀이
3. 지식
4. 논리
5. 추론
6. 퍼지 이론
7. 컴퓨터 시각
8. 인공 신경망


1. 인공 지능 개요

지능의 사전적 정의
- 배우거나 이해하는 능력, 또는 새로운 상황에 대처하는 능력 (Webster 사전)
- 새로운 대상이나 상황에 부딪혀 그 의미를 이해하고 합리적인 적응 방법을 알아내는 지적 활동의 능력 (표준국어대사전)
- 새로운 상황이나 환경에 대처하기 위하여 배우고 이해할 수 있는 능력

인공지능 - 지능적 행동의 일반적 의미에 대한 컴퓨터 관점에서의 이해 및 지능적 행동을 할 수 있는 인공물의 생성을 다루는 컴퓨터과학 및 컴퓨터공학의 분야
- 계산심리학 관점의 접근 : 사람과 동일한 방식으로 행동하는 컴퓨터 프로그램을 만듦으로써 인간의 지능적 행동을 이해하고자 함
- 기계지능 관점의 접근 : 컴퓨터를 이용하여 프로그래밍할 수 있는 영역을 인간이 수행할 수 있는 작업영역으로 확장하고자 함
- 물리적 기호 시스템 가설 : 물리적 기호 시스템은 일반적인 지능적 행동을 위한 필요 충분한 수단을 가지고 있다.
=> 인간 지능의 능력 : 학습에 의한 지식의 획득, 문제의 이해, 지식을 이용한 추론

물리적 기호 시스템 가설 : 물리적 기호 시스템은 일반적인 지능적 행동을 위한 필요 충분한 수단을 가지고 있다.
- 인간이 행하는 지능적 작업을 수행하는 프로그램을 작성할 수 있다는 가능성에 대한 믿음의 근원

인공지능 실현을 위해 필요한 인간 지능의 능력
① 학습에 의한 지식의 획득능력
② 문제의 이해능력
③ 지식을 이용한 추론능력

지능형 에이전트 : 자율적 에이전트(autonomous agents)는 어떤 복잡한 동적 환경에 존재하면서 이 환경 내에서 자율적으로 감지하고 행동하며, 이를 통하여 그들의 설계 목적에 해당되는 목표나 작업을 수행하도록 하는 계산 시스템이다
1) 속해 있는 환경 내의 동적인 주변 상황을 감지한다.
2) 감지된 내용을 해석하고, 문제를 풀이하고, 결론을 내려 행동을 결정하기 위한 추론을 한다.
3) 환경 내의 상황에 영향을 미치기 위해 행동한다.
4) 속성 : 자율, 반응, 능동, 지속, 사회, 적응, 이동성


2. 탐색에 의한 문제 풀이

문제 풀이 : 직관적으로 단순하게 해결할 수 없는 문제에 대해 문제를 파악하고 문제의 해에 이르는 방법을 찾아내는 일련의 과정
- 전략 : 시행착오, 알고리즘, 경험적 방법, 통찰
- 문제의 표현 : 상태 공간(초기 상태 ~ 목표 상태)
- 상태 묘사 : 풀이하고자 하는 문제의 상태를 컴퓨터로 처리하기 위한 적절한 자료구조로 표현한 것
- 연산자 : 어느 한 상태로부터 변화할 수 있는 다른 상태로 변환함, 변환 테이블, 규칙(함수 또는 생성 규칙)
- 목표 상태 : 문제가 풀이된 결과에 해당되는 상태
- 문제 풀이 방법 : 초기상태에서 시작하여 목표상태에 도달할 수 있는 일련의 연산자를 찾는 것
=> 그래프 경로 탐색 (시작 ~ 목표 상태에 도달하는 과정을 탐색), 문제 축소 (원시 문제, 분할 정복 방식)

그래프 탐색
목적 임의 경로 탐색 최적 경로 탐색
맹목적 탐색 깊이 우선 탐색
너비 우선 탐색
균일 비용 탐색
경험적 탐색 언덕 오르기 탐색
최적 우선 탐색
모의 담금질
A* 알고리즘

경험적 탐색 : 목표상태를 보다 신속하게 탐색하기 위해 경험적 지식을 사용하는 탐색 방법, 경험적 지식을 평가함수에 반영
- 지역 최대치(최소치) 문제, 고원문제, 능선문제

게임트리 : 상대방이 있는 게임, 최대최소 탐색(minimax search)
- 최대화 : 내 차례에서는 내가 둘 수 있는 수 중에서 나에게 가장 유리한 수를 선택한다.
- 최소화 : 상대방은 자신이 둘 수 있는 수 중에서 나에게 가장 불리한 수를 두려고 할 것이라고 가정한다.
- α-β 가지치기 : 최대최소 탐색트리의 불필요한 가지를 잘라냄으로써 탐색의 성능을 높임


3. 지식

지식
- 지식의 사상 : 사실과 내부 지식 표현 사이의 사상
- 지식의 종류 : 문제영역에 대한 전문 지식, 대상세계에서 성립하는 경험법칙, 메타 지식
- 절차적 지식 : 어떤 경우에 무엇을 어떻게 할 것인가에 대한 지식. 지식 사용에 대한 제어 정보는 지식 자체에 내포
- 선언적 지식 : 상호 독립적, 단편적인 지식들을 나열해 놓은 형태(정적인 지식), 추론 기관이 필요
=> 패턴이해 시스템 : 주변의 다양한 형태의 정보를 수집할 수 있는 능력 필요, 시각/음성 인식

지식기반 시스템(knowledge-based systems) : 특정한 문제 분야의 지식을 쉽게 접근할 수 있는 형태로 컴퓨터 내에 체계적으로 축적하여 사용
- 구성 : 지식베이스, 추론기관, 사용자 인터페이스
- 지식 베이스 : 지식을 구조화하여 컴퓨터 내부에 저장, 현재의 상황을 나타내는 사실(또는 데이터 항목)들과 이에 대해 적용할 규칙들로 구성
- 추론기관 : 지식 베이스의 지식과 외부에서 일어난 사실을 표현하고 있는 정보의 조합방법을 탐색, 현재 상태에 의해 만족되는 규칙을 선택하여 실행

지식 공학 : 지식을 어떻게 체계화하고 지식 베이스에 축적하며, 축적된 지식을 어떻게 이용하는가를 연구.
- 지능적 문제풀이는 궁극적으로 그 문제와 관련된 지식들을 어떻게 저장하고 이용할 것인가에 달려 있다.

시멘틱 네트 : 지식 사이의 관계를 표현, 노드와 아크를 이용하여 방향성 그래프로 표현, 특성 상속 (중앙 집중 지식 공유)
프레임 : 속성을 나타내는 슬롯들의 집합, 관련된 프레임들이 상위 개념, 하위 개념으로 분류되어 연결 (클래스, 부 클래스, 사례 프레임)
특성상속을 이용하여 중앙집중 지식 공유, 부가 프로시저를 통해 절차적 지식을 함께 표현
전문가 시스템 (Expert System) : 주어진 문제 분야에서 인간 전문가의 문제해결 지식, 전략 등을 시뮬레이션함으로써 문제풀이, 의사결정을 지원하는 지식기반 시스템

규칙을 이용한 지식 표현
- 주어진 상황을 위한 권고, 지시, 전략을 나타내는 정형화된 표현방법
- IF a THEN b : a 가정, 전제조건, b 결론, 실행할 동작
- 지식 베이스 : 현재의 상황을 나타내는 사실(또는 데이터 항목)들과 이에 대해 적용할 규칙들로 구성
- 추론기관이 현재 상태에 의해 만족되는 규칙을 선택하여 실행
- 전방향 추론 : 주어진 사실들로부터 만족되는 규칙을 규칙의 조건부와 정합에 의해 선택, 선택된 규칙의 결론부의 내용을 실행하거나 사실에 추가
- 후방향 추론 : 목표로 하는 결론이 현재 상태 또는 알려진 사실들로부터 유도해 낼 수 있는가를 알아내고자 함, 결론부로부터 가정부 방향으로 진행하는 추론


4. 논리

논리학 : 바른 판단과 인식을 얻기 위한 올바른 사유의 형식과 법칙 따위를 연구하는 학문
- 형식 논리학 : 기호와 논리 연산자를 이용하여 논리적 연역 체계를 표현 (기호 논리학, 수리 논리학)
- 기호 논리학 : 올바른 추론의 형식적 구조를 연구 - 개개의 판단이나 개념의 내용과 관계없이 추론의 형식상 타당성에 관심
- 인식론적 논리학 : 인식의 본질이나 과정을 연구 - 추론 형식의 타당성뿐만 아니라 인식을 위한 사고의 경로나 그 형태를 연구

명제 논리
- 불 대수 (Boolean algebra) : 1847, George Boole, 변수의 값이 참(true, 1) 또는 거짓(false, 0) 중 하나의 값을 갖는 값을 대상으로 하는 2치 논리
- 퍼지 논리 : 다치 논리의 한 형태, 어떠한 사실의 진리값을 참과 거짓이라는 두 가지의 논리값으로 제한하지 않음, 참/거짓이 분명하지 않은 모호한 사실의 표현 및 추론
- 명제 (proposition) : 참과 거짓을 구분할 수 있는 문장, 명제를 기호로 표현, 논리연산자를 이용하여 복합명제 표현, 예) GLASS -> FRAGILE
- 기본명제 : 더 이상 분해할 수 없는 최소단위 명제
- 합성명제 : 2개 이상의 기본명제를 결합한 명제
- 논리 연산자 : OR(V), AND(∧), NOT(~), -> 함의
- 진리표 :
- 조건명제 : p -> q : ‘p이면 q이다.’ 라는 합성명제를 표현하는 기호
- 연언 표준형 : 절들의 논리곱(연언) 형식으로 표현된 논리식, F1∧F2∧···∧Fn , n ≥ 1
- 선언 표준형 : 절들의 논리합(선언) 형식으로 표현된 논리식, 각 절들은 리터럴들의 논리곱으로 이루어짐
- 항진식 : 논리식을 구성하는 기본명제들의 값에 관계없이 항상 참인 논리식
- 연역 : 이미 알고 있는 전제를 이용하여 정확한 결론을 이끌어 내는 추론 과정, 긍정논법 (a, a->b => b), 부정논법 (~b, a->b => ~a)
- 도출 (resolution) : a->b, b->c => a->c // p V q, ~p V q => q // ~p, p => false, p, ~p V q => q

술어 논리 : 명제를 술어와 객체로 분리하여 표현, 변수를 사용할 수 있음, 주어진 문장을 객체와 객체를 수식하는 술어로 분해하여 ‘술어(객체)’ 형식으로 표현
- 명제 논리의 확장 : 객체 변수의 도입 (하나 이상의 객체에 대해 적용되는 문장에는 변수를 도입)
- 기본 형식 : 술어(객체1, 객체2, ···, 객체n), 객체 : 상수, 함수, 변수, 객체변수에 대해 한정기호(∀, ∃) 사용하여 정의역 내의 범위를 정할 수 있음
- 정형식(wff) 의 정의
- 술어논리식의 도출 : 두 부모절에서 객체를 포함한 논리식이 도출절의 쌍을 이루어야 함 : ~Father(A, B) ∨ Male(A), Father(A, B) => Male(A)
- 단일화(unification) : 객체변수를 포함하는 경우 객체가 일치하도록 객체변수를 대체하는 것
- 술어논리식의 절 분리 : p->q를 ~p∨q로 표현, 드모르강의 법칙, 변수를 표준화, 존재기호를 제거, 관두형으로 표현, 연언 표준형으로 변환
- 도출연역에 의한 정리 증명 : 연언 표준형, 증명할 정리의 부정이 거짓임을 보여서 증명


5. 추론

생성 시스템 (Production System)
- 생성 메모리 : 생성 규칙들을 저장, IF (조건부) THEN (결론부)
- 작업 메모리 : 현재의 상태를 나타내는 사실을 저장 (단기 메모리)
- 작업 메모리의 사실에 의해 생성 메모리에 있는 생성규칙의 조건부가 만족되면 그 규칙을 실행할 수 있음
- 인터프리터 : 현재의 작업 메모리 내용에 따라 규칙을 선택하여 실행, 정합(matching), 충돌 해결, 실행

추론 방법의 종류
- 연역법 (deduction) : ‘IF A THEN B’라는 규칙과 ‘A’라는 사실로부터 ‘B’를 결론으로 제시하는 추론 방법, 연역에 의한 추론은 항상 옳음
- 유도법 (abduction) : ‘IF A THEN B’라는 규칙과 ‘B’라는 사실로부터 ‘A’를 결론으로 제시하는 추론 방법, 추론 결과가 항상 옳지는 않음, 유사추론, IF Mother(x) THEN Women(x), Women(미숙) => Mother(미숙)
- 귀납법 (induction) : 관측된 사실로부터 새로운 법칙을 만들어 내는 것, 학습과 관련된 추론 방법, IF Sparrow(x) THEN CanFly(x), IF Dove(x) THEN CanFly(x), IF Eagle(x) THEN CanFly(x) => IF Bird(x) THEN CanFly(x)
- 전방향 추론 (forward chaining) : 조건부를 만족하는 규칙을 찾아 실행, 주어진 사실로부터 유도될 수 있는 모든 것을 찾아내는 것이 목적인 경우
- 후방향 추론 (backward chaining) : 도출하고자 하는 결론을 제시하는 규칙을 찾는다, 어떤 특별히 주어진 결론을 입증하거나 부정하고자 하는 것이 목적인 경우
- 설명 기능 : 어떻게?? 왜?? (사용자가 시스템에게 추론과정에 대한 질문을 했을 때 응답을 할 수 있게 하는 기능, 추론 사슬을 보여줌, 결론에 대한 신뢰감)


6. 퍼지 이론

퍼지 이론 : 참, 거짓의 구분이 모호한 문제를 위한 이론

퍼지 집합 : 어떠한 대상이 집합에 포함될 가능성으로 표현되는 집합
- 소속함수 : 집합의 원소일 가능성을 나타내는 값 [0, 1]
- 합집합 : μA∪B(x) = Max[μA(x), μB(x)], ∀x ∈ U
- 교집합 : μA∩B(x) = Min[μA(x), μB(x)], ∀x ∈ U
- 여집합 : μA(x) = 1 - μA(x), ∀x ∈ U
- 일반적인 고전집합의 특성을 대부분 만족함 (교환법칙, 결합법칙, 분배법칙, 드모르간 법칙 등)
- 예외 : A∪~A ≠ U, A∩~A ≠ 공집합

퍼지 논리 : 명제의 논리값이 0부터 1의 범위에 속하는 값으로 표현됨
- 다치 논리의 한 형태, 어떠한 사실의 진리값을 참과 거짓이라는 두 가지의 논리값으로 제한하지 않음 -> 참/거짓이 분명하지 않은 모호한 사실의 표현 및 추론

퍼지 추론 :
- 퍼지규칙 : ‘IF 조건부 THEN 결론부’ 형태의 규칙 사용, 조건부 및 결론부에 언어적 변수를 포함, 변수의 값에 언어적 라벨을 할당할 수 있음
- 퍼지제어기 : 지식 베이스 - 퍼지화 - 추론부 - 비퍼지화 - 제어


7. 컴퓨터 시각

컴퓨터 시각 : 인간의 시각체계에 해당되는 능력을 컴퓨터에 심어 넣기 위해 연구하는 인공지능의 한 분야
: 영상 취득 - 전처리 - 영상 분할 - 영상 표현 - 분석
- 표본화 (sampling) : 연속적으로 변화하는 아날로그 신호를 이산(discrete)신호로 변환하는 것
- 양자화(quantization) : 이산신호의 값에 정해진 정밀도로 분할된 구간의 대표값을 부여하는 과정
- 필터 (filter) : 입력신호를 필터의 특성에 따라 변환하여 새로운 신호를 출력함
- 평활화 : 영상에 포함된 고주파 잡음을 제거하기 위한 처리
- 중간값 필터(median filter) : 각각의 픽셀 위치에서 정해진 크기의 영역 내의 픽셀 값들 중에서 중간값을 선택, 점잡음(salt-and-pepper noise)에 효과적임
- 영상 분할 (image segmentation) : 영상을 구성하는 물체의 영역을 구분하여 분할하는 것 유사한 속성(영상의 밝기, 색 성분, 텍스처 등)을 갖는 부분으로 분할
- 이진화 : 영상을 구성하는 물체의 영역을 구분하여 분할하는 것
- 임계치 결정
- 영역 : 분할과 합병
- 에지 (edge) : 밝기가 다른 두 영역 사이에서 픽셀의 그레이레벨이 크게 변하는 부분, 소벨 연산자 (1차 미분), 라플라스 연산자 (2차 미분)
- 이진 영상 표현 : 그물망 표현
- 체인 코드 정규화 : 체인코드는 임의의 시작점으로부터 구한 체인코드를 회전하여 전체 코드의 값이 가장 작은 값이 되도록 배열한 것이다

패턴 인식 : 주어진 입력 패턴에 대해 적절한 라벨(미리 학습된 클래스의 집합에 부여한 값)을 부여하는 것
: 관측 - 전처리 - 분할 - 정규화 - 특징 추출 - 식별
- 관측 : 외부의 대상패턴을 컴퓨터가 처리할 수 있는 형태로 입력
- 전처리 : 잡음의 제거, 세션화
- 분할 : 인식 대상 영역을 배경 및 타 물체의 영역과 분리
- 정규화 : 패턴의 변형을 회복하여 기준이 되는 패턴으로 변환하는 과정
- 특징 추출 : 패턴 식별에 사용될 수 있는 정보의 추출 (패턴공간의 차수를 낮춘다. 판별 작업에 더욱 적합하도록 의미 있는 값을 얻는다.)
- 결정 이론적 방법 : 확률 통계적 방법, 패턴의 특징들은 수치 값으로 표현, 서로 다른 패턴 군집들 사이의 경계를 찾아 인식
-- 유클리드 거리, 해밍거리 (XOR), 맨하튼 거리 (x-y), 마할라노비스 거리
-- 베이즈 분류기 (p(C1|x) > p(C2|x) => x 는 C1 , p(C1|x) < p(C2|x) => x 는 C2)
-- k-근접이웃 : 학습 표본 데이터들을 이용하여 미지의 패턴이 어느 클래스에 속하는지 판별, 지도 학습
- 언어 이론적 방법 : 형식언어 이론에 근거한 패턴인식 기법,
-- 패턴을 구성하는 기본 요소(원시패턴)들이 일정한 결합 규칙에 따라 모임으로써 하나의 패턴을 형성한다고 봄
-- 문법 G를 정의 : G = (VN, VT, P, S),
-- 패턴의 구조적 해석에 의한 인식, 패턴의 구조체계를 유지하는 범위 내에서 패턴의 변형 수용, 원시패턴 추출이 어렵다., 생성규칙 자동 생성이 어렵다.
- 신경회로망, 퍼지이론 등을 이용한 방법


8. 인공 신경망

기계 학습 (machine learning) : 인공지능 시스템이 지능적 행동능력을 갖기 위해서 외부 환경으로부터의 정보를 이용하여 시스템 내부에 지식을 형성하고 저장하는 과정, 시스템이 동일한 대상에 대한 작업을 다음 번에는 더욱 효율적이고 더욱 효과적으로 수행하도록 하는 시스템의 적응적 변화
- 종류 : 지도학습(기대되는 출력), 자율학습(유사 입력-유사 출력), 강화학습 (보상)
- 기계적 학습에 필요한 능력 : 정보의 체계적 저장 (효율적 검색), 일반화 (공통), 초점의 방향(선택)
- 귀납적 추론 (관찰 -> 일반화) : 반복적인 관찰이나 경험을 기반으로 해서 논리를 이끌어 내는 추론방법, 학습 과정에서 제시되지 않은 입력에 대해서는 잘못된 판단을 내릴 수 있음

결정 트리 : 분할정복 방식으로 입력공간을 분할 - 입력된 대상을 분류하거나 회귀분석을 하기 위한 트리, 지도 학습, 불순도
- 불순도 검사 방법 : 엔트로피, 지니(Gini) 계수 등 사용
- 노드 분할 : 불순도가 가장 낮아지게 하는 속성을 기준으로 분할
- 선형 결정경계 : 패턴 x = (x1, x2, ···, xn)을 식별하기 위한 판별식 D(x)

군집화란 : 패턴 집합이 주어졌을 때, 같은 종류라고 생각할 수 있는 몇 개의 서브클래스로 분할하는 것, 자율학습
- k-평균 군집화 : 학습표본 집합을 대표하는 k개의 평균벡터를 구함,
- 평균벡터의 초기 추정치로 임의의 값을 부여한 다음 반복적으로 이를 수정하여 적절한 위치로 수렴하도록 하는 방법을 사용
- 학습표본을 가장 가까운 평균벡터로 분류, 각각의 평균에 대해 그 군집으로 분류된 표본의 평균을 구하여 평균벡터를 수정

인공 신경망
- 두뇌 속의 신경 구조 : 10억~100억 개의 신경세포(neuron)
- 시냅스 : 각 뉴런은 1천~10만개의 다른 신경세포와 연결
- 인공신경망 : 신경 구조를 모델링하여 지능적 처리에 응용하고자 하는 시도
- 특성 : 간단한 연산기능을 가진 많은 수의 뉴런으로 구성, 방대한 연결, 대단위 병렬처리, 연결가중치 벡터, 분산 저장, 학습 능력, 결함 내성
- 활성 함수 : 스텝 함수, 포화 선형, 시그모이드
- 연결 형태 : 흥분성 연결, 억제성 연결, 피드포워드 연결, 순환 연결
- 학습 : 뉴런들을 서로 연결하는 연결 가중치를 조정 (지도학습과 자율학습)

퍼셉트론(Perceptron) : 1957 (Frank Rosenblatt - Cornell 대학)
- 스텝 함수 사용, 델타 규칙을 이용한 지도 학습
- 학습 데이터를 이용하여 반복 학습하면 이를 분리할 수 있는 선형 결정경계를 형성, XOR 문제는 해결 불가

오차역전파(error back propagation, BP) 모델 :
- 다층 퍼셉트론 구조, 입력층과 출력층 사이에 은닉층 존재
- 활성함수 : 시그모이드 함수

자기조직화 지도(self-organizing map, SOM), Kohonen, 경쟁학습
LVQ(learning vector quantization) : 지도학습 방식에 따라 대표벡터를 학습, 승자 독식