-
인공지능 머신러닝 딥러닝
인공지능, 머신러닝, 딥러닝을 나누는 개념에 대해서는 이미 무수히 많은 글들이 존재한다. 아직 인공지능이 무엇인지 명확하게 A입니다. 라고 정의내려진 것은 아니라 개념이 모호하다.
인공지능: 인간의 지능을 갖춘 컴퓨터 시스템
머신러닝: 인공지능의 한 분야
딥러닝: 머신러닝의 여러 방법중 중요한 방법론. 생물학적인 뉴런을 수학적으로 모델링한 인공신경망의 한 종류이다.
일반적인 컴퓨터 프로그램은 if input(A) == B then run(C)라고 그대로 인간이 B까지 작성한다면, 머신러닝은 B를 컴퓨터가 찾도록 학습시키는 것이다. 머신러닝은 지도학습, 비지도학습, 강화학습으로 나눌 수 있다.
좀 더 정확한 사례들은 아래에서 읽을 수 있다.
여기서 오늘 인공지능의 모델 4가지를 알아볼 것이다. ANN, DNN, CNN, RNN 그리고 추 후 이를 발전시킨 모델들을 알아보도록 하자.
- ANN(Artificial Neural Network): 딥러닝의 기초인 인공신경망으로 사람의 뉴런 구조를 모방해 생성한 알고리즘이다.
인간의 뉴런은 특정 자극이 임계값을 넘어가면 신호를 전달한다. 이를 각각 input, weight,ouput으로 구현하였다.
- DNN(Deep Neural Network): 인공신경망의 은닉층이 2개 이상인 경우를 의미한다. CNN, RNN, LSTM, GRU등의 응용이 있다( LSTM과 GRU는 다음에 알아보도록 하자)
- CNN(Convolution Neural Network): 데이터의 특징을 추출하여 특징들의 패턴을 파악
- 컨볼루션(convolution)과 풀링(Pooling)으로 이루어짐
- 컨볼루션: 데이터의 특징을 추출하는 과정, 데이터의 인접성분을 조사하고 특징을 파악하여 하나로 압축하여 도출(Convolution Layer)
- 풀링: 컨볼루션을 거친 레이어의 사이즈를 줄여 데이터의 크기를 줄이고 노이즈를 상쇄시킴
- 컨볼루션(convolution)과 풀링(Pooling)으로 이루어짐
- RNN(Recurrent Neural NetworK): 시퀀스 데이터에 특화된 인공신경망으로 내부에 순환구조를 지님
- 과거 학습 결과를 현재 학습에 반영하여 시퀀스 데이터 학습의 한계를 해결
[참고]
'2020년 > Development' 카테고리의 다른 글
graph2vec를 사용해보자 (3) 2020.12.18 그래프 데이터에 대한 고찰 (0) 2020.12.18 캐글을 써보자 (0) 2020.12.08 딥러닝 공부 #2 (0) 2020.12.07 사이킷런을 사용해보자 (0) 2020.12.02