목록Deep Learning (51)
Note
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]] print(np.shape(train_X)) (4, 5) 단어 벡터의 차원 : 5 문장의 길이 : 4 2차원 텐서 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..
GRU는 LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서, 은닉 상태를 업데이트하는 계산을 줄였습니다. GRU는 성능은 LSTM과 유사하면서 복잡했던 LSTM의 구조를 단순화 했다.
RNN은 출력 결과가 이전의 계산 결과에 의존하기 때문에 비교적 짧은 시퀀스(sequence)에 대해서만 효과를 보이는 단점이 있다. 시점이 지날수록 정보량이 손실되어 시점이 길어지게 되면 전체 정보에 대한 정보량이 의미가 없어지게 될 수도 있다. 이를 장기 의존성 문제(the problem of Long-Term Dependencies)라고 한다. 1) 입력 게이트 현재 정보를 기억하기 위한 게이트. 현재 시점의 값과 입력 게이트로 이어지는 가중치를 곱한 값과 이전 시점의 은닉 상태가 입력 게이트로 이어지는 가중치를 곱한 값을 더하여 시그모이드 함수를 지난다. 현재 시점 값과 입력 게이트로 이어지는 가중치를 곱한 값과 이전 시점의 은닉 상태가 입력 게이트로 이어지는 가중치를 곱한 값을 더하여 하이퍼볼릭..
RNN(Recurrent Neural Network)은 인공 신경망으로, 이름 답게 유닛간의 연결이 순환적 구조를 갖는 특징을 갖고 있다. RNN은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델로 순방향 신경망과 달리 내부의 메모리를 이용해 시퀀스 형태의 입력을 처리할 수 있다. 순방향 신경망은 입력층에서 출력층 한 방향으로 진행하지만, RNN은 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 갖고있습니다. RNN에서 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드를 셀(cell)이라고 한다. 은닉층 셀은 각 시점에서 바로 이전 시점에서의 은닉층 셀에서 나온 값을 자신의 입력으로 ..
import cv2 as cv import numpy as np import matplotlib.pyplot as plt import PIL %matplotlib inline from sklearn.cluster import KMeans clt = KMeans(n_clusters=5) clt.fit(img.reshape(-1,3)) def show_img_compar(img_1, img_2 ): f, ax = plt.subplots(1, 2, figsize=(10,10)) ax[0].imshow(img_1) ax[1].imshow(img_2) ax[0].axis('off') #hide the axis ax[1].axis('off') f.tight_layout() img = cv.imread("test1...