티스토리 뷰
좀 전에 RNN 코드에 대해 설명하였는데 , 이번 포스트에서 조금 더 자세하게 다루어,
입력과 출력의 dimension 이 어떻게 결정이 되는지에 대해서 설명 하고자 한다.
Cell 을 만드는 코드에서 출력의 size(hidden size)를 정한다.
이렇게 cell 을 만드는 부분과 사용하는 부분을 나눈 것은, cell 을 편리하게 바꿀 수 있게 다
RNN 또는 LSTM으로 바꿀 수 있음. Output 의 dimension 은 cell 을 만들어줄 때 hidden_size에 달려 있다.
Hidden_Size 가 2이니까, 입력 데이터의 dimension이 무엇이든 간에, output dimension 은 2가 됨. Shape=(1,1,4)에서 마지막 4는 input dimension이다.
Sequence data ( 시리즈 데이터를 몇 개를 받을 것인가 가 두 번째 sequence_length : 한 번에 몇 개 펼칠 것인가. 셀을 만들 때, 입력 데이터의 모양에 따라서 결정된다. 출력에서의 시퀀스 길이도 같아야 함, 시퀀스는 같아야 해서. 시퀀스 사이즈는 입력의 모양에 따라 결정된다.
Dynamic_rnn 드라이버가 큰 힘을 발휘하는데, 입력값으로 , 위에서 만들어 둔 cell 과 ,입력데이터인 x_data 는 one hot encoding 되어있다.(앞선 포스트에서 설명하였음)
요렇게.
Hello,가 원핫(one-hot) 인코딩 되어있는 것이며, 시퀀스_길이는 5를 가진다. (hello길이)
이렇게 넣으면 ,dynamic_rnn 이 자동적으로 구동을 하여 결과를 output으로 넘겨주고, 다음상태에 미칠 영향을 state 로 넘겨준다.(state를 직접 다루지는 않으니 걱정 말고)
실제출력은 dimension 이 2인 5개의배열이 나온다
RNN을 검색하였을 때 가장 안 다룬 내용이 배치 사이즈에 관한 내용이었는데, 배치 사이즈는 RNN 드라이버가 학습을 시킬 때, 몇 줄 씩 학습을 시킬 것인가에 대한 설정이다. 위 예제에서는 Batch_size를 3을 주었는데, 이 말은 즉, 5개의 시퀀스로 이루어진 배열을 세 개를 한 번에 학습시키는 training_data로 주겠다는 말이다. 한 줄 씩 학습시키면 매우 비효율적이다
여기까지 이해하면 input 과 output 의 shape 이. 당연히 같을 수밖에 없다. 훈련시킨 만큼 훈련 결과가 나와야 하니까 (당연하겠지). PlaceHolder 로 만들었을 경우, 배치사이즈에 None 을 넣는 것은 아무리 많아도 괜찮다 라는 뜻이다.
ML lab12-2: RNN - Hi Hello Training 8분까지 요약함.
- Total
- Today
- Yesterday
- 취소표풀리는시간
- 항공권매진
- 추석항공권
- 2025년추석비행기표
- 당일비행기표
- 공항현장구매
- 공항현장발권
- 비행기매진
- 취소표구하는법
- 아고다오버부킹
- 비행기취소표
- 공항현장대기
- 비행기없음
- 취소표구하는방법
- 추석비행기표
- 추석연휴비행기표
- 비행기조회안됨
- 아시아나취소표
- #비행기취소표 #비행기매진 #항공권예약 #비행기표구하기 #항공권구매 #비행기표없을때 #항공사취소표 #공항대기표 #여행꿀팁
- 비행기매진일때
- 비행기취소표 #비행기매진 #항공권예약 #비행기표구하기 #항공권구매 #비행기표 #비행기표싸게사는법 #항공사취소표 #공항대기표 #여행꿀팁
- 공항대기표
- 대한항공취소표
- 비행기놓쳤을때
- 체크인부터탑승까지얼마나
- 설날비행기표
- 비행기노쇼
- 비행기자리없을때
- 실시간보안검색대소요시간
- 비행기도우미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |