MachineLearning

RNN(Recursive Neural Networks)

쌍쌍바나나 2017. 12. 10. 23:03
반응형

RNN Recursive Neural Networks

RNN 구조

  • 자연어처리 분야에서 각광받고 있는 모델, 음석 문자 등 순차적 데이터 처리에 강점

Recurrent VS Convolutional VS Recursive

  • Recurrent Neural Networks
    • 입력값을 순서대로 받아 하나씩 순차적으로 처리하는 네트워크.
  • CNN
    • 입력값을 생략없이 모두 반영한다는 점에서는 Recurrent Neural Networks와는 차이가 없다.
    • filter(2)를 이용해 2개의 단어씩 한번에 분석하고 있는 것을 알 수 있다
    • filter의 크기로 한칸씩 슬라이딩하면서 문장을 단어 두개씩 읽어들여 분석하는 구조
    • 문장의 지역적인 정보를 반영한다는 점
  • Recursive Neural Networks
    • 입력값으로 주어지는 몇 개 단어를 묶어서 분석한다는 점에 있어서 CNN과 유사
    • CNN은 모든 지역정보를 생략없이 반영하는 데 비해 RNN은 일부 정보는 스킵
    • CNN과 달리 트리 구조의 입력값을 반드시 필요
    • RNN은 여러 단어의 결합으로 이루어진 표현을 벡터 공간에 임베딩해 파싱, 감성분석
    • RNN은 부모노드를 만들 때마다 점수도 함께 생성
    • 파싱을 위한 RNN이라면 이 스코어는 합쳐진 단어들이 얼마나 말이 되는지를 나타내는 점수
    • 감성분석을 위한 RNN이라면 해당 점수는 긍/부정 극성을 나타내는 지표

Simple RNN 구조

  • 간단한 RNN구조는 트리형태로 표현이 가능하다.
  • i번째 부모노드인 p(i)의 값은 아래처럼 정의된다.
    • p(left), p(right)의 결합 * W + b
  • 학습 과정에서 트리 탐색은 greedy 방식, Beam Search 알고리즘은 BFS기법을 기본으로 하되 기억해야하는 노드 수를 제한해 효율성 높인 방식

참고

  • https://ratsgo.github.io/deep%20learning/2017/04/03/recursive/
반응형