계획의 시작 MLP입니다. MLP with 2 layer 모델로 MNIST 분류 문제를 풀어보겠습니다.
우선 아주 쉽게 축소하여 한번 가봅시다!

보통 Hidden layer의 수와 Output layer의 수를 합쳐서 layer 수를 결정하는 것으로 추정됩니다.
아마 곱해지는 행렬이 2개라서 그런것 같습니다.
[그림 1] 에 추상화된 MLP 모델이 그려져 있습니다.
Input layer를 [1 x 3] vector
Hidden layer를 [1 x 4] vector
Output layer를 [1 x 3] vector
행렬 곱셈에는 in(곱해지는 것)과 out(결과)을 알고 있다면 그 형태에 끼워 맞춘 행렬을 만들 수가 있습니다.
[그림 1] 예시에서
뭘까요~?
input layer
hidden layer
그러면~~ [1 x 3] 형태의 벡터가 [1 x 4] 형태의 벡터로 계산되어 지기 위해
input layer
이를 수식으로 보시겠습니다.

같은 방식으로 output layer까지의 계산을 해보겠습니다.

여기에 사용된 # 기호는 갯수를 나타내는 기호 입니다. 예를 들어 [#나에게온카톡 = 0] 뭐 이런식입니다.
#input =3 , #hidden=4 #output = 3이 되겠네요.
첨자[문자 아래에 쓰여있는 작은 숫자]를 설정하는 것 에 어려움이 있으신 분들이 있을 줄로 압니다.
설명은 의미가 없고 직접 손으로 쓰시면 5분이내로 깨닫으실 겁니다.
힌트는? 패턴을 묶어낸다 입니다~
자 이제 추상화된 요약본은 이해가 되셨을거라 믿고 MNIST에 직접 적용해 보도록 하겠습니다.
'Have Done > MLP' 카테고리의 다른 글
MLP from Scratch with Numpy [5 / 7] - backpropagation1 (0) | 2022.01.06 |
---|---|
MLP from Scratch with Numpy [4 / 7] - feed forward 코딩 흐름 (0) | 2022.01.05 |
MLP from Scratch with Numpy [3 / 7] - Activation (0) | 2022.01.04 |
MLP from Scratch with Numpy [2 / 7] - feed forward2 (0) | 2022.01.03 |
MLP from Scratch with Numpy [0 / 7] - Classification 사전작업 (0) | 2022.01.03 |
댓글