2023/03 3

Attention RNN 모델과 코드 구조

seq2seq RNN 모델에서 인코더 알고리듬을 개량해 보자. 앞서 기술된 인코더 구조에서는 마지막 LSTM 셀로부터 출력되는 은닉층 정보 h 가 디코더의 LSTM 첫 번째 셀에 전달하는 단순한 구조를 보여주었다. 개선 이전의 인코더에서는 문장 전체를 쪼개서 각각의 LSTM 셀에 입력하여 은닉층 연산 후 펼쳐진 마지막 LSTM 셀에서 출력되는 은닉층 정보 h 를 디코더에 입력했었다. 개선 후에는 인코더 각각의 LSTM 셀로부터 출력되는 은닉층 정보를 모은 h 를 디코더에 입력하는 방법이다. 이렇게 하면 인코더 sequence 의 ‘고정길이’라는 제약을 벗어날 수 있다. 즉 마지막 LSTM 하나의 셀에서 결과를 넘기는 것에 비해 입력데이터 수에 해당하는 만큼의 은닉층 정보 전체를 전달하므로 고정된 길이의 ..

자연어처리 2023.03.13

Attention 알고리듬 이해를 위한 Sequence To Sequence 알고리듬

이 블로그는 한빛 출판사에서 출간된 사이토 고키 저 "Deep Learning from Scaratch ⓶ 밑바닥부터 시작하는 딥러닝 2편" 의 7장 2절 seq.seq 의 세부 해설이다. 자연어 처리에 관심이 있는 국내 독자라면 그 내용의 뛰어남에 필독을 권해 본다. 하지만 제목에서 '밑바닥부터...'가 암시하듯 이 책은 철저하게 바텀업 방식으로 씌어졌으며 논리상 아무런 문제가 없다고 볼 수 있다. 하지만 개개인의 자연어 처리에 대한 이해도가 낮을 경우 다음과 같은 문제가 발생함을 지적해 둔다. 책 후반인 7장에서 seq2seq 를 읽고 코드를 실행시키다 보면 바닥에서의 기본적인 알고리듬들이 잘 보이지도 않고 이해가 제대로 되지 않는 경험을 할 수도 있다. 즉 7장의 내용은 그 앞까지 전개해 온 내용을..

자연어처리 2023.03.05