본문 바로가기

전체 글101

Keras를 통한 SimpleRNN, LSTM 출력값의 이해 임의의 입력 생성하기 import numpy as np import tensorflow as tf from tensorflow.keras.layers import SimpleRNN, LSTM, Bidirectional train_X = [[0.1, 4.2, 1.5, 1.1, 2.8], [1.0, 3.1, 2.5, 0.7, 1.1], [0.3, 2.1, 1.5, 2.1, 0.1], [2.2, 1.4, 0.5, 0.9, 1.1]] train_X=np.array(train_X, dtype=np.float32) train_X=train_X[np.newaxis, :] train_X # array([[[0.1, 4.2, 1.5, 1.1, 2.8], # [1. , 3.1, 2.5, 0.7, 1.1], # [0.3, .. 2021. 12. 16.
LSTM, GRU Vanilla RNN * Vanilla RNN은 장기의존성 문제(Problem of Long-Term dependencies)로 인해 긴 sequence의 data를 입력으로 받는 것이 권장되지 않는다. * 이는 RNN의 backpropagation과정인 BPTT에 대한 이해, gradient vanishing에 대한 이해가 선행되어야 하지만, 이번 포스팅에서는 이를 수식적으로 살펴보기 보다는 간단한 예시로 넘어가려고 한다(BPTT에 대한 포스팅은 추후에 올리겠다). * 예를 들어 긴 sequence, 100단어로 구성된 문장의 마지막 단어를 예측하는 모델의 경우를 살펴보자. 마지막 단어를 유추하기 위해서는 hidden state를 통해 전달되어 온 이전 정보들을 통해 문장에 대한 맥락을 파악하게 될 것.. 2021. 12. 16.
RNN(Recurrent Neural Network) 순환 신경망(RNN, Recurrent Neural Network) * Feed Forward Neural Network에서는 input value가 activation function을 거치고 그 결과 값이 다시 다음 hidden layer의 input으로 들어가며 데이터가 한 방향으로만 흐르는 특징을 보여준다. 대표적으로 DNN, CNN등이 그러하다. * 반면 RNN은 데이터가 한 방향으로만 흐르지 않는다. activation function을 거친 값이 다음 hidden layer의 input이 되기도 하고 혹은 동시에 곧바로 output layer로 향하기도 한다. * 그림은 편향 b를 생략하고 입력 vector $x_t$, 출력 vector $y_t$만 표시한 그림이다. 위 cell이라고 표시한.. 2021. 12. 16.
1.5 Solution Sets of Linear Systems Homogeneous Linear System(동차선형계) * A가 m x n matrix이고, 0은 $R^n$ 차원의 vector라고 했을 때, Ax=0 형태로 나타내어지는 linear system을 Homogeneous Linear system이라고 한다. * 이 경우 해는 2가지 경우가 존재한다. 첫 번째는 x=0이다. 이 solution은 너무도 당연한 solution이라는 뜻에서 trivial solution이라는 이름으로 불린다. * 두 번째 경우는 무수히 많은 해가 존재할 경우이다. free variable이 하나라도 있다면, nontrivial solution 즉, 무수히 많은 해가 존재하게 된다. Exercise 1) Determine whether there is a nontrivial.. 2021. 12. 15.