본문 바로가기
AI 머신러닝 딥러닝/CS231

cs231n 10강 RNN, LSTM

by newbeverse 2023. 9. 24.

 

input과 output이 고정되어있기때문에 구별가능.

one to many : 이미지 캡셔닝

many to one : 감정 분류(긍정, 부정 등)

many to many : 번역

many to many : 비디오 예측 (현재 프레임과 더불어 지나간 모든 프레임들을 적용한 함수)


RNN으로 집주소 인식

순차적으로 숫자를 읽어나감(Sequncial 하다는 측면에서 CNN방식과 다름)

 

이미지 생성시, 특정 순서에따라 (sequnece)하게  따라 숫자를 써 내려감.

 


매 타임스텝마다 reqcurrent fc 적용 할 수 있게..

 

매 타임 스텝마다 동일한 마라미터와 함수에 영향을 받아야함


적용 사례


예시 모델


예시 


긴문장 학습

 

처음엔 이상하게 나옴, 점점더 그럴사하게 나옴.

 

최종적으로는 그럴싸한 모양새가 나옴

 

대수기하학 교과서를 rnn에 넣고 돌려봄.

 

리눅스 코드 넣고 돌려봄. 문법적으로 훌륭한 내용이 나옴. (약간의 오류는 있음)

 


rnn에서 히든 특성 내의 cell을 관찰해봄.

약 5% 정도 규칙을 갖고행동함.

 

첫번쨰 특징:  "" 안의 내용이 묶임.

squence length 100으로 줬는데 실제로 "" 안의글자는 100글자가 넘어감.  

sequnce length가 넘어가는 것은 어떻게 인식을 하나?

100자에 대해서만 한계가되어있지만, 제너럴라이즈 하는 결과에 대해서 인식하는것 같다(?)

 

행의 길이를 tracking하는 셀

 

if 잡아줌

 

주석잡아줌

 

뎁스 잡아주는 셀


이미지 캡셔닝

convnet 이미지 처리

rnn : sequence를 처리

convnet의 결과물(classfication한)을 RNN에 전달

 

자세히보면

 

없애버린 저 부분을 RNN부붙으로 보내줌

 

convnet이 밀집모자를 인식하고,  h0에 밀집모자를 전달하면서 rnn과정에서 밀집모자 수치가 좀더 높은 상태로 시작함.


그래서 이렇게 밀집모자라는 결과를 내놓음

 

다시 다음에 straw를 전달함. 영향받고 다시 밀집모자로 인식함

 

end 토큰 받을떄까지 계속 반복함.


대표적인 예

돈을 받고 일반인을이 이 사진을 보고 캡션을 달아준 내용으로, 이미지 트레이닝 해줌.

예2

예3

이미지를 보고 잘 맞춤.

 


RNN의 다음 모델은 뭘까? 어텐션

RNN은 이미지를 한번만 보고 끝,

어텐션은 이미지의 특정 부분들을 분할해서 보고, 문장들을 추측해줌.

다음에 어디를 봐야할지도 알려줌.


LSTM의 기본적인 원리는 RNN과 비슷함.

f = 현재 게이트가 전의 상태를 얼마나 잊을 것인가 (0이면 아예 리셋, 1이면 그대로 반영)

i = input (-1 ~ 1) 인풋값을 셀스테이트에 포함시킬 것인가

g = 셀 스테이트에 얼마나 더 더해줄것인가

 


 

 

 

반응형