np.empty: shape과 dtype을 입력받아 초기화되지 않은 배열을 만든다.
np.power(m,n) = m^n, array와 실수, array와 array 사이에서도 가능.
학습데이터셋 - NORMAL DATA
데이터셋의 구조 - TIME, SENSOR
정상적인 이미지로 모델 학습 후 비정상적인 이미지를 넣어 이를 디코딩하게 되면 정상 이미지의 특성과 디코딩된 이미지 간의 차이인 재구성 손실을 계산하게 됨.
이 재구성 손실이 낮은 부분이 정상, 높은 부분이 이상이다.
Conv1D
model.predict(테스트 데이터) 했을 때, 만약 정상데이터가 아니라면, 테스트데이터에서 model.predict(테스트 데이터) 한 값이 정규화된 값에서 0과 1을 벗어나기 때문에, Reconstruction error 값이 높게 나올 것이다.
1875000 x 20 칼럼으로 이루어진 2차원 데이터를 id(3125개) 별로 600번 이루어진 3차원 데이터로 만든다. 즉 reshape된 데이터는 3125 x 600 x 18이다.
여기서 train label은 to_categorical 진행 되어 3125 x 61(label의 개수)인 2차원 데이터로 만들어진다.
이 때 cnn 모델은 input_shape에 갯수가 아닌 (600(600번으로 만들어진 id), 18(classes))를 넣는다.
"나는 오늘 스파게티를 먹었는데, 그것은 매우 맛있었어."
-> 이 때 '그것'은 무엇을 의미하며 우리는 어떻게 이것이 스파게티인 것을 알 수 있을까? 의식하지는 못하지만 우리의 뇌는 문장을 읽어가면서 그동안 읽은 정보를 활용하여 문장을 읽어나간다. 따라서 t 시점의 단어를 온전하게 이해하기 위해서는 t-1번째 까지의 정보를 포함하여야 한다.
그래서 우리는 CNN보다 RNN을 사용한다.
LSTM의 가장 큰 특징은 기존 RNN에 cell state를 추가한 것이다. cell state는 입력들의 정보를 선별하여 다음 출력으로 내보내는 게이트 역할을 한다. 이로 인해 역전파 소실 문제를 줄여 성능이 증가하게 된다.
LSTM의 복잡한 구조를 보다 간결하게 보완한 모델, 더욱 빠른 속도로 비슷한 성능을 낼 수 있다.
RNN 모델의 구조적인 한계를 극복한 모델
논문: Neural machine translation by jointly learning to align and translate