ML

[ML] Neural Networks (Part1)

mingyung 2023. 11. 30. 18:58

이번 포스팅에서는 Neural Network의 기본을 알아본다.

Introduction to a neural nework

single neuron에서 neural network 의 구조는 다음과 같이 생겼다.

x는 input, w는 weight, b는 bias. 

 

 

f는 activation function이다. activation func의 예시를 ReLU라고 할 때, 뉴런 하나를 통과한 결과를 h(x)라 할 때 다음과 같다. 

 

우리는 ReLU와 같은 activation 함수를 통해 모델의 비선형성을 확보할 수 있다. 또한, 이와 같은 layer를 stack함으로 모델이 더 복잡한 문제를 해결할 수 있도록 한다.

모델을 하나 더 쌓은 경우 다음과 같은 모습이 된다.

이제 여러개의 feature를 neural network에서 어떻게 다루는지 살펴보자.

각 feature를 x1...x5라고 하고, 3개의 hidden node를 이용해 2 layer neural network를 구성했다고 하면, 다음과 같이 만들어볼 수 있을 것이다.

 

이때 각 hidden node와 h(x)단계에서 식은 다음과 같을 것이다.

 

Fully connected neural network

Fully connectef neural network는 위의 상황보다 더 generic parameterization된 방식이다. 

한마디로 우리가 feature들의 정보와 원하는 결과의 관계를 잘 알 수 없으므로 모든 node에서 모든 information을 사용하는 것이다.

어떤 형태인지 그림으로 조금 더 쉽게 이해를 해볼 수 있다.

Vectorization

거대한 neural network연산에서 loop문을 반복하는 것은 매우 큰 낭비이다. 우리는 matrix multiplication을 통해 결과를 얻는다. 따라서 metrices의 형태를 잘 이해해야 한다.

조금 더 일반화 하여 r layer fully connected neural network에서 matrix크기는 다음을 통해 이해할 수 있다.