본문 바로가기
Computer Science/AL, ML

Vectorization of Neural Network

by Gofo 2022. 4. 9.

Vectorization

Vectorization을 통해 연산 속도를 높일 수 있다.

 

Representation

세로로 units에 대해서 가로로 training example에 대해서 쌓아서 matrix로 표현하면 된다.

 

연산

Scalar에 대한 덧셈이나 곱셈은 broadcasting을 통해 수행한다.

Numpy에서는 <pre>*</pre>을 통해 이를 지원한다.

 

Matrix 간의 곱은 행렬의 곱은 numpy의 <pre>dot</pre> 메소드를 통해 수행할 수 있다.

 


Pesudo Code

Non-vecotirzed Implementation

for i = 1 to m:
    # 1st layer
    Z[1][i] = W[1]x[i] + b[1]
    a[1][i] = sigmoid(Z[1][i])

    # 2nd layer
    Z[2][i] = W[2]a[1][i] + b[2]
    a[2][i] = sigmoid(Z[2][i])

 

Vectorized Implementation

# 1st layer
Z[1] = W[1]X + b[1]
A[1] = sigmoid(Z[1])

# 2nd layer
Z[2] = W[2]A[1] + b[2]
A[2] = sigmoid(A[2])

 

'Computer Science > AL, ML' 카테고리의 다른 글

XOR with Neural Network  (0) 2022.04.20
Activation Function  (0) 2022.04.10
Gradient Descent of Neural Network  (0) 2022.04.09
Neural Network  (0) 2022.04.07
Logistic Regression  (0) 2022.04.07

댓글