코세라 앤드류 응 교수님의 딥러닝 1번째 코스, 신경망 및 딥러닝 코스의 4주 차 강의 내용 리뷰입니다.
뉴럴 네트워크(Neural Network)에서의 행렬의 크기(Matrix dimensions)에 대해 알아보겠습니다.
저번 시간에 보았던, 딥러닝의 순전파 학습에서의 계산과정입니다
.
저번 시간에는 각 변수들이 어떤 의미를 지녔는지 간략하게 살펴보았다면,
이번에는 변수들의 행렬 크기 ( = 차원 수)를 알아보겠습니다.
하나하나 뜯어보며, 변수들이 어떤 크기를 가졌는지 살펴봅시다.
일단 노란색으로 칠해진 첫 부분부터 살펴보겠습니다.
이 과정에서 이루어진 계산은, Z[i] = W [i] * X + b입니다.
1층의 퍼셉트론의 수가 3개 이고, 입력 데이터 X1, X2가 2개이기 때문에,
가중치 W의 차원 수는 3 (1층의 퍼셉트론의 수) * 2 (0층의 퍼셉트론의 수)입니다.
(행렬의 크기와 차원 수는 같은 말입니다! )
---> 0층은 입력 데이터의 종류를 의미합니다,
그다음 층에서는 ( 2층의 퍼셉트론의 수) * (1층의 퍼셉트론의 수)가 됩니다.
이 문제에서는 데이터의 수를 1개라고 가정했기에,
X의 차원수는 2 (X1, X2) * 1 ( 데이터의 수)입니다.
++ 2층에서의 계산에서는 , X가 a [1]이 되기 때문에, 그때는 1층의 퍼셉트론의 수 * 데이터의 개수입니다.
편향 b는 퍼셉트론마다 가지는 고유의 값이기에, 3 (퍼셉트론의 수)* 1 (고정 값)입니다.
Z [i]는 W [i]와 X [i]의 행렬 곱셈 + b이기에,
행렬의 곱셈 원리에 따라서 3 * 1 즉, ( 1층의 퍼셉트론의 수) * (입력 데이터의 개수)가 됩니다.
a [i]는 뜻하므로, a [i]의 차원 수는 Z [i]와 같습니다.
++ 행렬 b의 덧셈을 처리할 때는, 브로드 캐스팅(Broad Casting)이 사용되어 자동 연산됩니다.
---> 브로드 캐스팅(Broad Casting)에 대해서는 3주 차 시간에 배웠으니, 포스팅 참고하세요!
1층의 퍼셉트론의 수는 3개였지만,
이걸 다른 층에 대해서도 계산해야 하기에, 일반화해보겠습니다.
층을 i라 하고, 각 층의 퍼셉트론의 수를n [i]라고 해서 나타내면,
노란색 부분으로 표현됩니다.
경사 하강법을 사용하기 위해서 필요한 매개변수 w , b의 도함수들의 차원 수도 마찬가지로 알 수 있습니다.
저희는 입력 데이터의 개수를 1개라고 가정하고, 위의 계산을 진행했지만,
실제 딥러닝에서의 입력 데이터의 수는 상당히 많습니다.
입력 데이터의 수가 m 개라면, 차원 수는 어떠할지 알아보겠습니다.
입력 데이터의 개수를 m 개라고 했기 때문에,
Z [i] , a [i]의 차원 수는 n [i] (입력되는 퍼셉트론의 수) * m (데이터의 수)로 표현됩니다.
또한, 도함수도 마찬가지로 바뀌게 됩니다.
*주의 : 실제 학습에서 업데이트돼가는 매개변수 W , b의 차원 수는 데이터의 수에 영향을 받지 않습니다.
이상으로, 딥러닝에서 쓰이는 변수들의 차원 수를 알아보았고,
다음 시간에는, 딥러닝이 왜 심층 표현인지를 알아보겠습니다!
'코세라 앤드류 응 AI 강의 리뷰' 카테고리의 다른 글
[인공지능 강의 리뷰] 25 - 매개변수와 하이퍼 매개변수의 차이점 +뇌와 딥러닝의 관련성 (0) | 2022.07.29 |
---|---|
[인공지능 강의 리뷰] 24 - 심층 신경망에서의 순전파(forward propagation) + 역전파(back propagation) (0) | 2022.07.16 |
[인공지능 강의 리뷰] 23 - 왜 신경망의 층을 깊게하는 걸까? ( why deep repretations?) (0) | 2022.07.05 |
[인공지능 강의 리뷰] 21 - L층의 뉴럴 네크워크(Deep L-layer Neural Networks) (0) | 2022.05.31 |
[인공지능 강의 리뷰] 20 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제 (0) | 2022.05.19 |
[인공지능 강의 리뷰] 19 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제 (0) | 2022.05.18 |
[인공지능 강의 리뷰] 18 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제 (2) | 2022.05.17 |