본문 바로가기

Activities/메타코드 서포터즈 4기

[Linear Layer] 메타코드 강의 후기_챕터2: Pytorch Fundamentals - Neural Network - Matrix Multiplication

저번시간까지 텐서 이론 + 실습을 했다면 이번 시간에는

1. Matrix Multiplication, 

2. Neural Net : Linear Layer 에 대해 공부해보도록 하자. 

 

 


 

1. Matrix Multiplication

 

- R은 차원 

T는 transform

M은 matrix 

- 절댓값을 씌워서 차원을 표시하기도 함

- 콤마 뒤에 1은 생략 가능하다  

- 쉐입이 같아야 연산 가능하다. 

 

 

 

배치 -> 묶어서 한다. 

Batch Matrix Multiplication(BMM)은 같은 개수의 행렬 쌍들에 대해서 병렬로 행렬 곱을 실행한다. 

 

 

인풋 벡터에 웨이트가 곱해져서 하나의 아웃풋 벡터가 나오는데

이걸 N번 하는 것보다 한번으로 처리해버리면 속도가 빨라지기 때문에 배치학습을 사용하는 것이다. 

 

실제로 보면 왼쪽보다 오른쪽 방법이 훨씬 효율적임을 알 수 있다. 

 


2. Neural Net : Linear Layer

 

 

- Linear Layer란...

인아웃풋을 weight로 연결하는 레이어이다. 

- 모든 점을 연결하는 형태로 생겼으며 다른 이름으로는 Fully Connected Layer(FC)라고 부른다. 

- ax + b 처럼 일차식으로 생겨서 선형이라고 부른다. 

- 4차원짜리 함수를 3차원으로 만들어주는 함수이다. 

 

 

그 다음으로 Linear Layer의 결과를 다음 Layer에 전달할 때 함수를 사용하는데, 그걸 Activation 함수라고 부른다. 

Activation Function은 비선형 함수이다. 

XO문제를 해결하기 위해 비선형 함수를 사용하는 것이다. 

ex) Sigmoid, tanh, ReLU... 등 

 

레이어 여러개 사용하니까 딥 ---> 딥러닝이라고 부르는 이유 

 

Softmax 함수는 활성화 함수 중 하나로 

해당 class의 확률 값을 출력하기 위해서 multi-class classification에서 주로 사용한다. 

값이 음수인 문제를 극복하여 입력을 0~1 사이로 변환한다. 

 

 

 

지금까지 배운 마무리 슬라이드

 


메타코드 4기 서포터즈 활동의 일환으로 작성한 게시글입니다. 

메타코드M (mcode.co.kr)