데브허브 | DEVHUB | 10초안에 맞추면 고수
- 브로드캐스팅은 두 배열의 shape가 일치하지 않을 때, 한 쪽을 복사하여 shape를 맞추는 연산 방식입니다. 🔄
- 언제 어떻게 복사가 일어나는지 직관적으로 파악하기 어려워 혼란을 야기할 수 있습니다. 🤯
- 브로드캐스팅을 완벽히 이해하기 위한 두 가지 핵심 공식이 존재합니다. 💡
- 첫 번째 공식: 차원 수 맞추기 - 차원 수가 다른 두 배열을 연산할 때, 차원 수가 작은 배열의 shape 앞에 '1'을 추가하여 차원 수를 일치시킵니다. 📏
- 두 번째 공식: 각 차원별 숫자 비교 - 차원 수가 맞춰진 후, 각 차원의 요소 수를 비교하여 다음 조건 중 하나를 만족해야 연산이 가능합니다. 🔢
- 두 차원의 요소 수가 같거나. ✅
- 두 차원 중 어느 한 쪽의 요소 수가 '1'이어야 합니다. (이때 '1'인 쪽이 다른 쪽의 요소 수만큼 복사됩니다.) ↔️
- 만약 두 번째 공식의 조건을 만족하지 못하면 브로드캐스팅이 불가능하여 에러가 발생합니다. ❌
- 예시:
shape (3, 2) 배열에 shape (3,) 배열을 더할 경우, 두 번째 차원(2 vs 3)에서 조건 불만족으로 에러가 발생합니다. 🚫
- 예시:
shape (3, 2) 배열에 shape (2,) 배열을 더할 경우, 첫 번째 공식 적용 후 (3, 2)와 (1, 2)가 되어 모든 차원에서 조건 만족으로 연산이 가능합니다. 👍
- 이 두 공식을 통해 복잡한 형태의 배열 연산(
(7, 1, 4, 1) + (8, 4, 6))도 에러 없이 성공적으로 브로드캐스팅되는 과정을 정확히 예측하고 이해할 수 있습니다. 🧠