(Deep Learning Book by Ian Goolfellow를 참고하여 제작한 이미지)
- 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템 기술
- 인간 지능을 모방하여 작업을 수행하고, 수집한 정보를 기반으로 반복적으로 개선할 수 있는 시스템 또는 기계를 의미
인공지능은 딥러닝과 머신러닝을 포함하는 포괄적인 분야
- 컴퓨터가 스스로 학습할 수 있도록 도와주는 알고리즘
- raw data에 대한 패턴을 추출함으로써 어떠한 판단이나 예측을 함
- 머신러닝의 분류
1. 지도학습(Supervised Learning)
- 비지도학습(Unsupervised Learning)
- 강화학습(Reinforcement Learning)
자세한 내용은 나중에 포스트 해야징
위 이미지를 사람에게 보여주고 네모 칸 안에 들어갈 모양은 별모양이라고 답할 것임
대충 뭉쳐있는 위치관계를 무의식적으로 파악했기 때문.
근데 컴퓨터는 그런걸 모름!!
위치관계를 인식하지 못하니까...
▶️ 그래서 벡터를 활용한다!
별 모양과 원 모양의 점들을 각각 하나의 벡터로 생각함
벡터들이 모여있는 것을 특징량 이라고 부름!
이 특징량을 바탕으로 벡터들을 구분하게 됨.
특징량을 바탕으로 구분 선을 하나 그으면,
비로소 컴퓨터도 두 특징량을 쉽게 구분할 수 있게 됨!
계산을 통해 이러한 구분선을 찾아내는 행위가 머신러닝이라고 볼 수 있딱!
컴퓨터가 스스로 입력받은 데이터를 분석하여 일정한 패턴이나 규칙을 찾아내려면,
사람이 인지하는 데이터
-> 컴퓨터가 인지할 수 있는 데이터
로 변환해줘야함!
데이터 별로 어떤 특징을 가지고 있는지 찾아내고,
그것을 토대로 데이터
를 벡터
로 변환하는 작업을 특징추출(feature extraction)이라 함
여러 특징 중에서 어떤 특징을 추출할 지를 개발자가 결정해야함!!
이거시 바로바로 머신러닝 개발의 핵씜.. 이래요
특징량을 바탕으로 구분선을 찾아내는 것을 머신러닝이라고 하였는데,
이러한 구분선을 찾아내는 방법 중 가장 널리 사용되는 방식이 회귀분석
회귀분석은
- 여러 자료 간의 관계성을 수학적으로 추정하고 분석하는 데이터 분석 방법 중 하나
- 종속 변수(목표)와 하나 이상의 독립변수(예측)간의 미래 사건을 예측하는 방법
선형회귀, 로지스틱 회귀, 리지 회귀, 라쏘 회귀, 다항 회귀 등의 종류가 있음
단순 선형회귀를 잠깐 보면,
독립변수와 종속변수의 상관관계를 보여주는 분포 구성을 통해 중심을 지나가는 하나의 선으로 표시할 수 있으며, 이 것을 이용하여 머신러닝에서는 특징량에 따른 구분선을 찾아낼 수 있는 것임!
똑똑한 녀석..
- 인공신경망(ANN)에서 더욱 발전된 형태의 인공지능으로, 인공신경망을 여러개 연결하여 인간의 뇌와 유사한 정보 입출력 계층을 만듦으로써 데이터를 학습하게 됨.
- 머신러닝 모델의 한 종류임! (머신러닝 ⊃ 딥러닝)
- 기계가 자동으로 대규모 데이터에서 중요한 패턴 및 규칙을 학습하고, 이를 토대로 의사결정이나 예측 등을 수행하는 기술
기존의 머신러닝은 어떤 특징을 추출할지를 사람이 직접 분석하고 판단함,
딥러닝에서는 기계가 자동으로 학습하려는 데이터에서 특징을 추출하여 학습함!즉, 딥러닝은 그 간의 data와 experience를 통해 스스로 improve 된단 소리!
가장 큰 차이점은 기계의자가 학습 여부
!
초기 머신러닝은 인간의 뉴런 연결구조를 본떠 인공신경망(Artificial Neural Network, ANN)이라는 머신러닝 모델을 만들게 됨.
But, 많은 양의 연산을 수행해야했기에 당시 기술로는 상용화가 어려웠음..
병렬연산에 최적화 된 GPU가 등장함으로써 그동한 구현할 수 없었던 딥러닝 이론들이 하나 둘 씩 실현 됨!!
(참고: CPU vs GPU , GPU for AI systems )
인공신경망은 여러 뉴런이 서로 연결되어 있는 구조의 네트워크임.
입력층(input layer)을 통해 학습하고자 하는 데이터를 입력받게 됨
이렇게 입력된 데이터들은 여러 단계의 은닉층(hidden later)을 지나면서 처리가 이루어짐
출력층(output layer)을 통해 최종 결과가 출력되게 됨
▶️ 이러한 신경망을 3개 이상 중첩한 구조를, DNN(Deep Neural Network)
라고 함
이를 활용한 머신러닝 학습을 특별히 딥러닝이라고 부름!
다수의 입력으로부터 하나의 결과를 내보내는 알고리즘임
각 입력값에 가중치가 곱해져 전달되는데, 가중치 값이 클수록 해당 입력은 중요함을 의미
이러한 단층 퍼셉트론을 여러개 조합한 것을, 다층 퍼셉트론(MultiLayer Perceptron, MLP) 라고부름
일반적으로 인공신경망은 다층 퍼셉트론의 조합
Theano (시아노) | Tensorflow (텐서플로우) | Keras (케라스) |
---|---|---|
Torch (토치) | DL4J (DeepLearning4J) |
---|---|
http://www.tcpschool.com/deep2018/deep2018_ai_vs
https://www.oracle.com/kr/artificial-intelligence/what-is-ai/
https://www.appier.com/ko-kr/blog/5-types-of-regression-analysis-and-when-to-use-them
https://wikidocs.net/24958