Yiksan0315's Blog

ANN

# Tag:

  • Source/KU_DL

ANN(Artificial Neural Network)

기존의 Linear한 함수로는, 제대로 Non-linear한 decision boundary를 만들어내지 못해 제대로 된 분류가 불가능 했다.

이를 해결하기 위해 Neuron을 모방해 선형 Layer 사이에 Non-Linear Layer(Activation Function)를 섞어 비선형적인 함수를 만들 수 있도록 한것이다.

위와 같은 비선형적인 classifier도 만들어 낼 수 있게 된다. 기존의 Linear Layer는 아무리 쌓아도, matrix에 대해 Linear Transformation을 거쳐 하나의 Matrix로 통합되게 되므로 이러한 NonLinear classifier를 만들 수 없었다.

위와 같이 기존의 Linear(, weights)와 : NonLinear를 여러 번 번갈아 쌓아가면서 만든 것이 ANN이다.
(적절한 bias를 더해, 그 판단의 기준점이 될 수 있도록 해준다.)

즉, Linear Classifier를 통해 Nonlinear를 기준으로 어떠한 비선형 함수 형태의 복잡한 decision boundary를 생성 가능하게 한다.

Universal Approximation Theorem

이러한 NonLinear function을 만드는 방식을 통해, two-layer neural network로 어떤 continious function이든 approximate 가능하다는 이론.

물론, 어디까지나 Existence에 대한 이론일 뿐, 어떻게 이를 구현하는지에 대한(non-constructive) 것이 알려져 있지 않으므로 적절한 model을 근사해내는 과정은 계속해서 연구되어야 한다.

proof

fourier Thorem에 따르면, 모든 continious한 함수는 sin과 cos의 weighted sum으로 표현되므로 이에 따라 weights만 적절히 조절한다면 어떠한 consitinious한 function도 만들 수 있다.

How to Learning?

Loss를 줄이는 것이 목적이므로, 이를 위해서는 신호의 세기를 줄여야 한다. 이 때, Weight를 조정하는 방식이 쓰이는데, 이를 위해 Gradient Descent를 사용한다.

여기서는, Weight가 독립변수가 되며, 종속 변수는 Loss 값이 된다.
기울기를 보고 기울기가 줄어드는 쪽으로 가중치 값을 이동시킨다.

오차 역전파법(Chain Rule, Back Propagation) 을 이용하여서 출력 층에서 입력 층 까지 되돌아가면서 Gradient Descent을 이용해 각각의 가중치 값을 수정해가는 방식을 사용한다.

Architectures

보통 다음과 같은 구조로 구성되며, 이 요소들을 적절히 조합해 만들어지게 된다.

보통 layer가 deep할 수록 성능이 좋다고 알려져 있다. 이는 Represntation 능력이 향상됨의 일부로 해석 가능하다.

하지만, Layer가 깊게 쌓이며 Gradient Descent과 같은 문제가 나타나기도 한다. 이에 대한 해결책으로 ResNet의 Skip-connection 방식 등이 해결 방법이 된다.

toc test

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.