이번 시간에는 AI와 머신러닝에 대한 전반적인 내용에 대해 알아보도록 하겠다.
● AI (Artificial Intelligence)
- intelligence는 원래 인간같은 고등생물과 같은 것이다.
* AI의 종류
1. Strong AI
- 인간과 똑같이 생각하는 기계
- 인간의 마음은 유한 상태 기계(Finite State Machine)이다.
- 뇌는 순수한 하드웨어이다. (말하자면 고전적인 컴퓨터처럼 동작한다.)
- 인간의 마음은 오로지 뇌를 통해서만 존재한다.
- 아직까지는 구현 불가능
- 예: 터미네이터
→ 적대적인 인공지능이 되면 상당히 위험할 수 있다.
2. Weak AI
- 컴퓨터 기반의 인공적인 지능을 만들어내는 것에 대한 연구
- 지능을 부분적으로 흉내내는 컴퓨터 프로그램을 개발
- 현재 진행되고 있는 AI
→ Weak AI가 Strong AI가 되려면 인간같은 '자유 의지'가 있어야한다. 현재는 소프트웨어가 자기 자신을 인지하지
못하고 있다.
● 인간 생각의 요소들
- 기억 (Memorization)
- 계산 (Computation)
- 추론 (Inference)
- Knowledge Representation
- 인지 (cognition)
→ Pattern recognition
- 상식 (common sense)
- 계획 (planning)
→ 현재는 낮은 수준의 계획 가능. 높은 수준의 계획은 어렵다.
→ 인지, 상식은 컴퓨터가 그동안 잘 못했지만 점점 잘하기 시작했다. 나머지는 예전부터 잘했다.
● AI의 역사
① 인공지능의 탄생 (1952 ~ 1956)
- 튜링 테스트 : 장막을 치고 실험자는 장막 건너편에서 사람이 대답하는지 컴퓨터가 대답하는지 판단하는데, 잘
구별할 수 없으면 그 시스템은 '인공지능'이다.
- 다트머스 컨퍼런스 1956년 : AI의 탄생
→ "학습의 모든 면 또는 지능의 다른 모든 특성으로 기계를 정밀하게 기술할 수 있고 이를 시뮬레이션할 수 있다."
② 황금기 (1956~1974년)
- AI로 모든 것이 가능할 것이라 믿었다.
→ 1958년, 사이먼 (H.A.Simon)과 뉴얼(Allen Newell) : "10년 내에 디지털 컴퓨터가 체스 세계 챔피언을 이길 것이다."
→ 1965년, 사이먼 : "20년 내에 기계가 사람이 할 수 있는 모든 일을 할 것이다."
→ 1967년, 마빈 민스키 : "이번 세기에 AI를 만드는 문제는 거의 해결될 것이다."
→ 1970년, 마빈 민스키 : "(Life 잡지를 통해서) "3~8년 안에 우리는 평균 정도의 인간 지능을 가지는 기계를 가지게
될 것입니다."
→ 모든 기대가 물거품이 됨. 기대가 높은만큼 실망이 커서 인공지능의 쇠퇴기가 왔다.
③ AI의 첫번째 암흑기 (1974~1980)
- 문제
→ 컴퓨터 능력의 한계 (CPU, HW 발전이 더뎠다.)
→ 폭발적인 조합 수와 비용
→ 상징적 지식 처리의 한계 (영상 처리나 자연어 처리에는 어마어마한 양의 데이터 필요)
→ 모라벡의 패러독스 (어려운 기하학 문제는 풀지만 간단한 얼굴 인식 등의 문제는 풀지 못함)
- 자금 지원의 중단
- 퍼셉트론과 연결망의 어두운 시대
→ linear separability를 풀 수 없다고 민스키가 증명
④ Boom (1980~1987)
- 전문가 시스템의 상승
→ MYCIN : 1972년에 개발. 전염되는 혈액 질환을 진단
-지식 혁명 : 지식 기반 시스템과 지식 엔지니어링은 1980년대 AI 연구자들의 메인 포커스가 됨.
- 신경망 이론의 복귀 :
David Rumelhart는 (Paul Werbos에 의해 발견된) "역전파"라고 불리는 신경망을 개선하기 위한 새로운 방법을
소개했다.
⑤ AI의 두 번째 암흑기 (1987~1993)
- AI와 비즈니스 커뮤니티의 매력은 상실.
- 로봇 공학 분야에 관련된 연구원인 Rodney Brooks와 Hans Moravec는 인공지능에 대한 완전히 새로운 접근 방식을
주장함.
⑥ AI (1993~현재)
- Milestones and Moores' Law
→ 1997년 5월 11일, 디프 블루는 당시 세계 체스 챔피언이던 게리 카스파로프를 이긴 최초의 체스 플레이 컴퓨터가 됨
→ 2011년 2월, Jeopardy! 퀴즈 쇼의 시범 경기에서 IBM의 대답하는 시스템 왓슨은 상당히 여유롭게 Brad Rutter와
Ken Jennings 두 명의 뛰어난 Jeopardy! 챔피언들을 이김.
- 지능형 에이전트
● Classical AI
- 고전적인 AI와 새로 출현한 AI와의 차이점
→ 예 : decision tree
→ classical AI는 rule-based system
① Decision Tree
- training dataset : Buys_computer
- Resulting Tree
* Algorithms for Decision Tree Induction
1.Basic Algorithm (a greedy algorithm)
- 트리가 top-down recursive divide-and-conquer 방식으로 만들어짐.
- 처음에는 모든 훈련 데이터들이 다 루트에 있음.
- 속성들은 categorical. (만약 연속된다면, 분류되어있을 것.)
- 예들은 정해진 속성들에 맞게 재귀적으로 분류되어 있을 것.
- test 속성들은 heuristic 또는 통계적 측정법으로 선택됨.
→ 예: information gain
2. conditions for stopping partitioning
- 주어진 노드들의 모든 샘플들이 같은 클래스에 속할 때
- 더이상 분류할 남은 속성들이 없을 때
→ leaf node까지 갔는데 지배적으로 하나의 클래스로 몰리지 않았다면 다수결의 원칙(majority voting)을 따른다.
- 남은 샘플이 없을 때
② Bayes' Theorem
where A and B are events and P(B) ≠ 0
- X가 independent하다는 naive한 가정
* Bayesian 해석에 의하면
- probability : measures a degree of belief in an event
- P(A) : prior probability, i.e., the initial degree of belief in A.
- P(A|B) : posterior probability, i.e., the degree of belief in A given that we know B happened.
- B : evidence that support A
- P(B|A) : likelihood, i.e., the degree of belief in B, assumig that the proposition A is true
● Classical AI (Rule-based) vs. Connectionism (ANN)
- decision tree나 Bayesian과 같은 classical AI 기법들을 rule-based system이라 한다.
- 이러한 rule-based system의 한계를 극복하기 위한 일환으로 Artificial Neural Networks라고 하는
connectionism이 출현하였다.
→ connectionism은 rule이 없음. 잘하는데 왜 잘하는지 모름.
① Rule-based system
- 하향식 접근 방식
→ logical rule에 기반하여 AI의 요소들을 구현한다. 구현된 rule들은 visible하며 일부 자동으로 변경 가능하지만 외부 입력에 의해서 생성, 변경된다. rule의 생성은 주어진 sample의 통계 법칙에 의거한다.
- 예: decision tree, bayesian network, association rule, expert system
② Connectionism
- 상향식 접근방법
→ 인간의 뇌 구조 중 대뇌 피질의 뉴런들의 계층구조를 모방한 시스템
→ 외부의 경험적 Big Data(vision, sound, internet contents..)로부터 학습을 통해 rule을 만들며 그 rule들은 invisible이고, 자동으로 수정 가능한 자율학습 시스템이다.
- Artificial Neural Networks(ANN)
- 여기서 전단계 뉴런 synapse와 연결되어 있고, 수상돌기는 dendrite이다. 핵은 nucleus이고, 축삭은 axon이다.
- 오른쪽 ANN의 구조를 보면 전 신경세포들의 신호가 synapse로 다음 뉴런의 dendrite로 전달되어 nucleus의 역할을
하는 sum 함수에 들어간 후 activation function을 거치는데, step function의 경우에는 특정 threshold를 넘어가면
전달되는 방식이다.
● Machine Learning
- 기존의 explicit programming으로 해결할 수 없는 문제들을 해결하기 위해 machine learning, 즉 기계가 스스로 어떤 패턴을 '학습'하도록 하는 접근법이 등장하였다. 요컨대 머신러닝이란, 프로그래머가 직접 수많은 규칙을 미리 정해주는 대신 프로그램 자체가 데이터를 통해 스스로 학습하도록 하는 방법이다. AI 연구가 진행됨에 따라 machine learning 기법도 비약적으로 발전하였고, 이제는 전자제품의 주요한 기능으로 새롭게 받아들여지고 있다.
* Supervised Learning
- supervised learning이란 특정 input에 대해 정답 (label)인 output이 있는 데이터셋이 주어지는 경우이다.
① Regression
- regression의 output은 continuous 값을 갖는다. 즉, 주어진 input 변수를 output 변수에 대응시키는 어떤 연속함수를
찾는 과정이다.
② Classification
- classification 문제의 output은 discrete값을 갖는다. 즉, classification의 목적은 주어진 input 변수가 어느 discrete
category에 속하는지 찾아내는 것이다. 예를 들면, 종양이 악성인지 양성인지 진단하는 문제가 있다.
* Unsupervised Learning
- 정답 (label) output을 제공하는 데이터셋이 없는 문제
- prediction result에 대한 feedback이 없음. 잘못된 prediction을 교정해줄 "선생님"이 없음.
- Clustering
- 미국 경제에 관한 논문 1000개를 가져다가 자동으로 이 논문들을 비슷한 것끼리 묶을 수 있다.
→ 예를 들면, word frequency, sentence length, page count 등의 정보를 이용한다.
다음 시간에는 딥러닝에 대해 알아보도록 하겠다.
'CS > Data Mining' 카테고리의 다른 글
[DataMining] Deep Learning (1) | 2020.05.03 |
---|---|
[DataMining] 2-2. Data Preprocessing (0) | 2020.04.30 |
[DataMining] 1-2. Data Mining Tasks (0) | 2020.04.27 |
[DataMining] 1-1 . Introduction to Data Mining (0) | 2020.04.27 |