👩‍💻LEARN : ML&Data/Lecture

[Advanced Learning Algorithms] #참고. Vectorization

쟈니유 2023. 3. 27. 16:42
728x90

 

How neural networks are implemented efficiently

기존에 for 문으로 W벡터와 a input을 곱했지만 사실 넘파이의 matmul이 있으면 쉽게 가능 

 

Matrix Multiplications

 

A = np.array ([[1,-1,0.1], [2,-2,0.2]]) 가 있다면 

[1],[2]가 한 뉴런에서 들어가는 값을 의미한다. 다만 이럴 경우 행렬간 곱이 어려우므로 A에 transpose를 취해 

A.T를 만든다. 이렇게 될 경우 

A.T = ([[1,2], [-1,-2], [0.1,0.2]]) 인 3*2행렬이 되어 이후 들어오는 W (2*4행렬)와 곱셈이 가능해진다. 

 

A.T와 W를 행렬곱하는 것은 np.matmul(AT,W)로 가능하며 AT @ W 로도 가능하다