이번 게시물은 RNN을 이용해서

hihello를 출력하는 모델을 만들어 보겠습니다.

 

One-hot encoding

일단 One-hot encoding을 알아보겠습니다.

컴퓨터는 문자보다는 숫자를 더 잘 처리 할 수 있습니다.

그래서 표현하고자 하는 문자에 숫자를 지정하여 사용하는 방법입니다.

  • 각 단어에 고유한 인덱스를 부여합니다.
  • 표현하고 싶은 단어의 인덱스의 위치에 1을 부여하고, 다른 단어의 인덱스의 위치에는 0을 부여합니다.

input = hihell = [0, 1, 0, 2, 3, 3]

output = ihello = [1, 0, 2, 3, 3, 4]

 

 

Cross Entropy Loss

이 Loss는 Categorical한 output을 가질때 많이 사용하는 Loss Function 입니다.

output이 0.1, 0.2, 0.3, 0.4 가 나오면 가장 가능성이 높은 0.4에 1을 나머지는 0을 곱하는 것이라고 보시면 되겠습니다.

즉, 가장 높은 값의 인덱스 값을 기준으로 각각 곱해주는 것입니다.

조금더 공부해서 포스팅 했습니다.

https://ggongsowon.tistory.com/113?category=965884 

 

06_Loss Function_2_Entropy, Binary, Categorical

저번 게시글에서는 MAE, MSE, RMSE 에 대해 올렸습니다. 이번 게시글은 그 외 다른 Loss Function 입니다. 그 전에 Entropy 먼저 살펴보겠습니다. ※ 참고로 아래 글에서 쓰일 \(log\)는 밑이 자연상수인 자연

ggongsowon.tistory.com

 

 

Code

Data 만드는 방법 2가지

 

여기서 np.eye는 numpy에서 지원해주는 함수로 정방행렬을 생성해줍니다.

여기서 rnn은 두개의 output을 도출합니다.

outputs는 말 그대로 결과값이고 _status는 다음 rnn이 있으면 그 rnn에서 사용될 hidden state 입니다.

 

 

출처:

https://www.youtube.com/watch?v=35JQdrrIRXQ&list=PLQ28Nx3M4JrhkqBVIXg-i5_CVVoS1UzAv&index=30 

 

'Deep Learning > Pytorch' 카테고리의 다른 글

26_Pytorch_Inception-v2, v3 (미완)  (0) 2021.10.25
24_Pytorch_MobileNet - 연산량 number of operations  (0) 2021.10.12
21_Pytorch_RNN  (0) 2021.10.06
20_Pytorch_ResNet  (0) 2021.10.06
19_Pytorch_VGG16  (0) 2021.10.05

+ Recent posts