Chap 1) Intro. to AI

Introduction

• What is AI?

- AI > Machine Learning > Deep Learning

- Perform tasks that previously only humans could do.

- Perform those tasks better, faster, and more intelligently.

- 컴퓨터를 사용하여 인간의 ‘지능적’ 처리를 모델링하는 기술

⇒ ‘학습’을 함으로써 인간의 지능으로 수행할 수 있는 다양한 ‘인식/예측/판단’ 등을 컴퓨터가 할 수 있도록 하는 방법을 연구

- 예제 사이트: 인식

https://tensorflow-mnist.herokuapp.com/

- Arthur Samuel(IBM, 1959)

Machine Learning – Field of study that gives computers the ability to learn without being explicitly programmed

(명시적으로 프로그래밍하지 않고(①) 컴퓨터 스스로가 지식을 추출할 수 있는 능력(②)을 부여하기 위한 연구분야)

e.g., Robot Arm Learning: Table Tennis/Flip Pancakes

• Why 이것을 가르치고/배워야 하는가?

‘기술(technology)’이 우리 삶에 미치는 영향: 정치/경제/사회/문화

e.g., 3/4차 산업혁명: SW-oriented society

→ universal machine/ubiquitous

• SW∙AI Education: K-12(초/중/고) & 대학

#1: ‘자료(data)’로부터 ‘정보(information)/지식(knowledge)’을 추출

#2: 문제해결을 위하여 SW를 활용

⇒ 어느 분야의 직업을 갖던지 기초 소양이 필요 (영어/수학)

e.g., STEAM

• How? SW를 사용한 문제해결 방법 (2015/2022 교육과정)

#0: SW Eng.	① CT(Computational Thinking)		② Deep Learning
요구분석	Data의 수집/분석/표현	hu-man	Big Data (numpy/pandas/...)	hu-man
설계	문제분해/추상화 지식/패턴 찾기 Modeling(수식/...)		지도학습/ 비지도학습/ 강화학습	ma- chine learn-ing
구현 Test(개발자/사용자)	Algorithm (static) 자동화/시뮬레이션/병렬화 (prog. lang.)		학습모델 (dynamic) -신경망(neural net) (tensorflow/keras/...)

→ 순차/선택/반복              → a computer learns to perform a     → 명시적(explicit) 프로그래밍	task by studying a training set

(예, GCD, sorting 등)	of examples

• How to make a traditional SW? (①)

Step #1) 문제해결에 필요한 정보의 저장: 자료구조(data structure)

□Linear: 배열(array), linked-list, stack, queue

https://en.wikipedia.org/wiki/Data_structure

□Non-linear: tree, graph(network)

Step #2) Programming based on algorithm

e.g., Euclidean algorithm - GCD 구하기

(강의자료: C프로그래밍 – UI/Algorithm, JavaScript/Python)

http://en.wikipedia.org/wiki/Greatest_common_divisor

http://en.wikipedia.org/wiki/Euclidean_algorithm

e.g., Sorting algorithms

https://en.wikipedia.org/wiki/Sorting_algorithm

e.g., OS, DBMS: System S/W

NEIS, apps: Application S/W

c.f., ① algorithm – 내연기관차 ⇔ ② ML – 전기차

(traditional method)	(new method)

Machine Learning

• 예측 모델: 값 예측

- 회귀(regression): 선형/비선형/다중

• 분류(classification) 모델 (지도 학습): 클래스 예측

- 로지스틱 회귀, Decision-tree, SVM, kNN

• 군집(clustering) 모델 (비지도 학습): 클래스 생성

- 계층적/비계층적

• 인식(recognition) 모델 (지도 학습): 이미지/음성 인식

- 딥러닝(CNN/RNN)

• How a computer can learn (from data)? (②)

- data에서 추출한 지식/패턴의 저장 – modeling: 수식/neural net/...

- 모델(model)

입력     모델     출력

(data) “지식/패턴” (answer)

e.g., 예측(regression)/인식/분류(classification)/군집(clustering)

y=ax   ⇔  x   a    y    // 1종류 입력, 1종류 출력

// 입력, 출력 data로 a를 결정

y=ax+b  ⇔  x   a    y	// a, b를 결정

b

1

- 행렬 (linear algebra)

modeling - 3종류의 입력(data)/2종류의 출력(answer)

a1

a2

b1

b2

c1

c2

d1

d2

X1

X2

X3

y1

y2

1

[X1 X2 X3 1] [ a1 a2   = [y1 y2]

b1 b2

“입력 data”	c1 c2    “결과 data”

d1 d2 ]

“구해야할 행렬”

(지식/패턴/model – neural net)

e.g.,

a1

a2

b1

b2

c1

c2

X1

X2

X3

y1

y2

수면시간

체중

운동시간

혈압

칼로리섭취

data#1         data#2              data#11000

8   [    65     5   [    80         6    [    55

1    ...  110    0    ...  120    ...   3     ...  100

1500   ]        2500   ]            1100    ]

e.g., McCulloch-Pitts의 MCP 뉴런 모델/Rosenblatt의 퍼셉트론(learning)

https://en.wikipedia.org/wiki/Artificial_neuron

https://en.wikipedia.org/wiki/Perceptron

How to solve this problem? - computing power 사용

step#1: initial 값                         step#11000

0.1

0.5

0.3

0.8

0.7

0.9

X1

X2

X3

y1

y2

c.f., 기존 algorithm – deterministic,  신경망 model – probabilistic

(정확값)                        (예측값)

수학 – 연역적(진리/정리의 증명)  vs.	과학 – 귀납적(data → 패턴찾기)

e.g, 사람은 죽는다(deduction)	e.g., 착한 사람이 행복하다(induction)

- 심층(deep) 신경망 – 은닉층(hidden layer) 필요

X1

X2

X3

y1

y2

y1

y1

y1

입력층         은닉층        출력층

Why? XOR problem – Non-linear problem!!

→ 복잡한 문제일수록 여러 은닉층이 필요

→ 심층(deep) 신경망

XOR을 직선적(linear)	지식으로는 해결할	수 없음!

(y=w1x1+w2x2)

• 응용 분야: https://en.wikipedia.org/wiki/Deep_learning

- 인식/번역

심층 신경망

model

음성	문자

문자	음성

“hello”               “안녕하세요”   // 번역

사진                “강아지”       // 인식

- 게임

AlphaGo

현재 위치                두어야 할 위치

• AI Education

- Math   +   coding

선형대수   python

통계/R     numpy/pandas/tensorflow/keras

Entry/Scratch/ML for Kids ...

• AI History