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 에서 느린 근본적인 이유는?
해설 구조상 병렬로 펼 수가 없습니다. 이 제약을 없앤 것이 다음 강의 어텐션이에요 — 모든 자리를 한꺼번에 계산할 수 있게 됩니다.