[RNN]
1. RNN이란?
- Recurrent Neural Network
- Hidden Layer 안에 하나 이상의 순환 계층을 갖는 신경망 구조
- 시계열 데이터 처리에 알맞게 고안된 퍼셉트론 계층
- 지연 입력 방식(어떤 시간대의 출력이 다음 시간대의 입력으로 이용됨)
2. Static RNN & Dynamic RNN
<수식>
h_t = tanh(h_(t-1)*W_h + x_t*W_x + b)
같은 대상을 다른 방식으로 표현한 데 지나지 않지만, TF와 같은 프레임워크에서는 이런 표현법의 차이가 실제 계산 그래프 구성에 반영되기도 함
- Dynamic RNN
- 간단한 계산 그래프 구성 해놓고 반복 이용
- Static RNN
- 반복 없이 여러 시간의 동시 처리해서 시간은 더 빠르다.
- 하지만, 초기 계산 그래프 구성 과정이 어렵고
- 시계열 데이터의 길이에 대한 유연성이 떨어진다.
3. BPTT(Backpropagation Through Time)
: 시간 방향으로 펼친 신경망의 오차역전파법
- 시계열 데이터의 시간 크기에 컴퓨팅 시간 비례 (시간 크기가 커지면 역전파 시 기울기 불안정해짐)
==> Truncated BPTT
: 시간축 방향으로 너무 길어진 신경망을 적당한 지점에서 잘라내어 작은 신경망 여러 개로 만드는 것
[Automata(오토마타)]
1. 오토마타란?
- 상태 집합과 상태 변화 규칙이 명확하게 지정되어 있어 이에 따라 동작하는 추상화된 기계 장치
- 쉽게 말해서
- 시작 상태에서 출발하여 종료 조건에 맞는 상태까지 이동해가는 과정에서 입력 처리나 출력 생성 등 다양한 일을 하는 것.
2. Finite state machine
- 가장 간단한 오토마타
- 너무 단순해 가전제품 등에 사용됨
3. Pushdown automata
- 언어 처리 분야에 적용 가능한 좀 더 강력한 오토마타
- 복수의 상태 정보를 스택 구조로 관리하면서 트리 형태의 문법 구조를 통해 문장을 생성하거나 검사한다.
Python ++
np.dot(A,B)
A의 마지막 array size = B의 마지막 전 array size
np.matmul(A,B)
A, B 마지막 두 배열 값으로 내적(나머지 앞의 값들은 같아야 함)
'AI > 공부' 카테고리의 다른 글
[인과관계 추론] 9.Instrumental Variables (0) | 2021.08.06 |
---|---|
[Book] 한국어 임베딩 (0) | 2019.11.09 |
CNN (0) | 2019.09.30 |
댓글