neural network

    [TIL] 210406 - Deep LearniNg (~C1W3L05)

    [TIL] 210406 - Deep LearniNg (~C1W3L05)

    이 글은... Andrew Ng 교수의 Deep Learning 강좌 C1W3L05 까지의 내용을 정리한 것이다. 많은 입력 샘플에 대한 신경망 네트워크를 백터화 하는 방법을 설명합니다. 내용 요약 많은 샘플에 대한 벡터화 m개 샘플이 있을 때, for i in range(m): z_1[i] = W_1 * x[i] + b_1 a_1[i] = sigma(z_1[i]) z_2[i] = W_2 * a_1[i] + b_2 a_2[i] = sigma(z_2[i]) 이런 식으로 샘플을 순환하며 계산해야함을 알 수 있다. 당연히 for 문은 효율이 떨어지므로 벡터화하여 계산하는 것이 빠르다. 각각의 중요 벡터의 형태를 살펴보면 아래와 같다. 여기에 $W$ 벡터와 $b$ 벡터가 빠졌는데, $W$ 벡터의 형태는 (은닉 ..

    [TIL] 210405 - Deep LearniNg (~C1W3L03)

    [TIL] 210405 - Deep LearniNg (~C1W3L03)

    이 글은... Andrew Ng 교수의 Deep Learning 강좌 C1W3L03 까지의 내용을 정리한 것이다. 신경망 네트워크의 구성과 대략적인 계산 흐름을 살펴보았다. 내용 요약 신경망 네트워크의 구성 알아보기 신경망은 아래 그림과 같이 3개의 층으로 구별할 수 있다. 입력층: 학습 데이터의 입력 특성들의 층이다. 은닉층: 입력층과 출력층 사이에 있는 층, 데이터를 확인할 수는 없다. 출력층: 출력 특성들의 층이다. 신경망 네트워크의 층을 표기할 때는 $a^{[l]}$라고 쓴다. 여기서 $l$이 층 수를 의미한다. 입력층은 0층이다. 신경망 네트워크의 층수를 셀 때 입력층은 포함하지 않는다. 위 그림에서 층은 3개로 구분되지만 2층 신경망이라 부른다. 신경망 네트워크 출력의 계산 위에서 살펴본 은닉..