티스토리 뷰

AI+머신러닝+딥러닝

[AI] 딥러닝(FNN,CNN,RNN)

Better than alone 2018. 11. 15. 11:34

*대표적인 딥러닝 모델

- FNN (Feedforward Neural Network)

- CNN (Convolutional Neural Network)

- RNN (Recurrent Neural Network)


예제를 통해 세가지 대표적인 딥러닝 모델을 설명할 수 있다.

예제 : 숫자 이미지 인식

이미지 28 X 28 픽셀(784px)로 구성됨. 각 픽셀의 gray scale(검0흰1)은 0~1 사이 연속적인 값으로 표현

정답은 0~9까지의 값 중 하나임. 

따라서, input layer 784 node, output layer 10 node 임.

hidden layer는 30개 노드로 가정




*FNN : 

이 때, AI가 학습해야 할 전체 파라미터 개수는 (783X30 + 30X10 + 30 + 10) = 23,860(input node 개수 X hidden node 개수 + hidden node 개수 X output node 개수 + hidden node 개수 + output node 개수)개이다.

y = F(wx+b)

F(x) : 비선형 함수


*CNN : FNN방식을 이미지 등에 적용 시, 가중치(weight) 수가 기하급수적으로 증가

CNN은 거리가 먼 픽셀끼리는 상호간 영향이 별로 없을거라는 가정한 뒤, 근처에 모여 있는 픽셀 정보만으로 특징을 추출하는 방식

이 때 Convolution 연산(중첩해서 y = F(wx+b) 찾는 방법?????? 정확히 모르겠음. 찾아봐야해) 사용

이러한 Convolution 연산을 이용해 만들어진 CNN은 이미지 내 유의미한 특징이 어디 위치해있는지 그 정보를 추출할 수 있음. 이를 역으로 이용해 새로운 이미지를 만드는 것도 가능.


* RNN

자연어 인식에 적합

언어는 여러 단어가 연속적으로 나타나면서 의미를 만듦. 따라서, FNN/CNN은 연속적으로 발생하는 데이터를 직접적으로 처리하기 힘든 구조임.

순서가 유의미한 데이터를 처리하기 위해 FNN을 순환하는 구조의 RNN이 등장함

다른 모델은 각 계층마다 다른 가중치를 부여함. RNN은 동일한 역할을 하는(?) 곳마다 같은 가중치를 부여하고, 순환연산함. 학습시간이 감소함

사람이 과거의 기억을 되돌아보듯이 메모리 구조를 활용할 수 있는 장점있음.

반응형

'AI+머신러닝+딥러닝' 카테고리의 다른 글

Pyspark Pipeline 사용법  (0) 2021.11.02
[AI] 자연어인식  (0) 2018.11.20
[AI] 개요  (0) 2018.11.15
댓글