12강 / 20강

서열 — 차례대로 읽기의 한계

순환 신경망과 '멀리 있는 것' 문제

서열 — 차례대로 읽기의 한계
차례대로 넘기다 보면 멀리 있는 것이 흐려집니다.

단백질 서열, 염기 서열, 문장 — 길이가 제각각이고 차례가 뜻을 가지는 자료입니다.

가장 자연스러운 발상은 앞에서부터 읽으며 기억을 넘기는 것입니다.

h₁ = f(x₁, h₀) h₂ = f(x₂, h₁) ← 같은 f 를 되풀이해서 쓴다 h₃ = f(x₃, h₂) ...

이것이 순환 신경망이고, 문제도 여기서 나옵니다 — 100자리 떨어진 것을 보려면 f 를 100번 통과해야 해요.

100자리 떨어진 것의 영향이 <b>사실상 0</b> 입니다. 되풀이해 곱하니까요.
Python 브라우저에서 실행
서열 길이를 늘려 보세요. 먼 자리의 영향이 어떻게 사라지는지.
불러오는 중…

순환 신경망의 두 가지 제약

먼 것을 못 본다
거리만큼 곱해야 해서 신호가 희미해진다
병렬로 못 돈다
h₂ 를 알아야 h₃ 를 계산한다
→ 길이만큼 순서대로 기다려야 한다

두 번째가 실무에서 특히 아팠습니다. 그래픽 카드는 한꺼번에 계산할 때 빠른데, 순환 구조는 그걸 막거든요.

그래서 물음이 바뀝니다 — 차례대로 지나가지 않고, 필요한 자리를 바로 볼 수는 없을까.

🤔 확인 문제
순환 신경망이 GPU 에서 느린 근본적인 이유는?