NN Network 6

진서연 ·2021년 5월 6일
0

Vanila Neural Network


우리가 알고 있는 Linear Regression은 위와 같습니다.
Linear Regression의 확장된 버전을 "Vanilla" Neural Network라고 할 수 있습니다.

Vanilla Neural Network는 Input 과 Output 사이 하나의 Layer를 추가해줍니다.

물론 여기서 끝나지 않고 Activation Function을 추가해줌으로써 우리의 Vanilla Neural Network는 정확한 결과를 냅니다.


위의 그림에서 볼 수 있듯이 여러 구조중 Vanilla Feed-forward Neural Network는 One to one 으로 가장 기본적인 구조를 이야기한다.

Sequential data

Sequential Data란 시간 순서를 고려하는 데이터를 이야기합니다.

시간에 따라 사용자가 시청한 영화 리스트 데이터, 사용자가 구매한 상품 데이터, 비디오 영상 데이터 등의 데이터를 Sequential data라고 할 수 있습니다.

Sequential data를 이용해서 사용자가 시청한 영화 리스트 중 다음으로 어떤 영화를 볼지 예측하는 것을 할 수 있습니다.

이렇게 시간적인 정보가 있는 데이터를 학습하고 그 다음에 올 영화를 예측하기 위해서는 어떤 것을 해야할까요?
Vanila Recurrent Neural Network를 통해서 우리는 시간에 따른 예측이 가능해집니다.

Recurrent Neural Network는 어떤 것일까요?

RNN

RNN은 위의 그림과 같이 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 갖고있습니다.

RNN은 위의 식과 같이 이야기 할 수 있다.

각각의 시간에 따른 hidden state를 고려해준다.

RNN은 기존의 one to one이 아니라 Many to one, Many to many 등 다양한 형태로 구현할 수 있다.

RNN의 이런 특성때문에 RNN은 입력과 출력의 길이를 다르게 설계 할 수 있으며, 다양한 용도로 사용할 수 있습니다. 위 그림은 입력과 출력의 길이에 따라서 달라지는 RNN의 다양한 형태를 보여줍니다.

profile
SheoYon.Jhin

0개의 댓글