기초 수학 · 3
브로드캐스팅과 모양
브로드캐스팅은 서로 다른 모양 사이의 연산을 데이터 복사 없이 되게 한다 — 한 행이 행렬 전체로, 스칼라가 모든 것으로 늘어난다. 실제 코드에서 싸움의 대부분은 모양을 맞추는 것이다.
한 행이 행들로 늘어난다
모양 [3] 벡터를 [2,3] 행렬에 더하면 모든 행에 더해진다. 뒤쪽 축부터 오른쪽으로 맞춘다.
keepdim: 되빼는 모양
축소는 뭉갠 축을 없앤다. keepdim=true 는 그 축을 크기 1 로 남긴다 — 결과를 원본에 되-브로드캐스트할 때 필요한 모양이다.
브로드캐스트 보기: 합 표
열 [8,1] 에 행 [1,8] 을 더하면 [8,8] 격자로 브로드캐스트된다 — 각 칸은 행 + 열. 매끈한 그라데이션이 브로드캐스트를 눈에 보이게 한다: 어느 입력도 복사되지 않았지만 모든 쌍이 결합됐다.
직접: 열을 중심화
중심화는 각 열의 평균을 빼서 모든 열의 평균이 0 이 되게 하는 것이다. 블록은 틀린 평균을 뺀다 — 열별 평균으로 고쳐라.
기억할 것
- 브로드캐스팅은 복사 없이 다른 모양을 결합한다; 뒤쪽 축부터 오른쪽으로 맞춘다.
- 크기 1(또는 없는) 축이 상대에 맞춰 늘어난다.
keepdim은 축소한 축을 크기 1 로 남겨, 결과를 원본에 되-브로드캐스트할 수 있게 한다.- borch 에서는 성분별 연산이 torch 처럼 브로드캐스트되고, 되돌릴 땐
mean(dim, keepdim).
위 블록이 에러를 내면, 그것도 알아둘 값이다. 이 페이지의 모든 예제는 테스트가 도는 그 라이브러리를 상대로 돈다 — 스크린샷이 아니다. 되돌리려면 Reset 을 누른다.