본문 바로가기
Computer Vision

[EECS 498-007] lec5. Neural Networks

by se0_ing 2024. 8. 7.
반응형

 

 

 

 

 

*강의 영상*: https://www.youtube.com/watch?v=g6InpdhUblE&list=PL5-TkQAfAZFbzxjBHtzdVCWE0Zbhomg7r

 

 

 

 

 

 

 

 

 

 

이전 강의에서는 선형 모델을 사용해 분류기를 구축하는 방법과 손실 함수를 통해 분류기의 성능을 평가하는 방법을 다루었다. 그리고 확률적 경사 하강법(stochastic gradient descent)과 그 변형을 사용해 목적 함수를 최소화하는 방법에 대해 알아 보았었다.

 

 

오늘은 Linear classifier, 선형 분류기의 제한과 NN(Neural Network), 신경망에 관하여 알아보겠다.

 

 

 

 

 


선형 분류기는 이해하기 쉽고 단순하지만 표현할 수 있는 함수의 종류에 제한이 있으며, 이로 인해 복잡한 데이터셋에서는 성능이 떨어진다. 선형 분류기의 기하학적 관점에서 고차원 유클리드 공간을 초평면으로 나눌 수는 있지만, 이 방식으로는 비선형적으로 분포된 데이터를 잘 구분할 수 없다.

 

 

 

 


선형 분류기의 한계를 극복하기 위해 특징 변환, Feature transform 개념을 소개한다. 특징 변환은 데이터를 더 쉽게 분류할 수 있도록 입력 데이터를 수학적으로 변환하는 방법이다.

 

 

예를 들어, 데이터를 직교 좌표계에서 극 좌표계, feature space로 변환하면, 변환된 데이터가 선형적으로 분리 가능한 형태로 나타날 수 있다. 변환된 특징 공간에서 선형 분류기를 학습하고, 이를 원래의 입력 공간으로 되돌리면 비선형 분류 경계로 변환될 수 있다.

 

 

 

 


컴퓨터 비전에서 특징 변환은 매우 널리 사용되었다.

예를 들어, 색상 히스토그램과 기울기 방향 히스토그램(histogram of oriented gradients, HOG)은 각각 이미지의 색상 분포와 가장자리 정보, weak edge와 strong edge를 판별할 수 있는 특징이 있는 표현 방법이다.

 

 

 

이러한 방법들은 공간 정보를 무시하거나 색상 정보를 무시하는 방식으로 이미지의 특정 속성을 강조하여 표현한다. 이외에도, 시각적 단어 가방(bag of visual words) 방법은 데이터 주도형 특징 변환의 예로, 학습 데이터에서 공통적으로 나타나는 패턴을 자동으로 학습하여 특징을 구성한다.

 

 

 

 

 

 

 

뉴럴 네트워크(NN)의 등장, 이전까지의 특징 변환 방법들은 수작업으로 특징을 설계해야 했지만, Neural Network는 입력 데이터에서 특징을 자동으로 학습하고 최적의 분류기를 동시에 학습할 수 있는 시스템이다. 뉴럴 네트워크는 특징 추출과 분류기를 하나의 엔드 투 엔드(end-to-end) 시스템으로 통합하여, 전체 시스템의 성능을 극대화하도록 학습된다.

 

 

 

위 그림의 다중 신경망, Fully-connected neural networkMLP, Multi-Layer Perceptron으로 불리기도 한다.

 

이러한 Perceptron을 가지고 있는 신경망 덕분에 기존 ImageNet, Linear Classifier가 해결하지 못했던 "two headed horse Problem", 다양한 subset을 가지고 있는 오브젝트를 분류할 수 없었던 문제가 드디어 해결되기 시작했다.

 

 

 

 

 


기본 뉴럴 네트워크의 구조는 입력 벡터와 가중치 행렬 간의 곱셈으로 특징을 추출하고, ReLU(Rectified Linear Unit)와 같은 비선형 활성화 함수를 사용하여 모델의 표현력을 향상시킨다. 이러한 계층 구조를 통해 뉴럴 네트워크는 선형 분류기보다 훨씬 복잡한 데이터 분포를 학습할 수 있다.

 

 

What if we build neural networks without Activation Functions?

-> 비선형성이 추가되지 않은 NN은 결국 선형으로 돌아갈수 밖에없다...

 

 

활성화 함수가 적용된 NN, 신경망은 여러 층을 거쳐 데이터를 점진적으로 변환하면서 학습한다. 각 층은 입력 데이터를 선형 변환한 후 비선형 활성화 함수를 적용하여 특징을 추출하고, 이러한 과정을 반복하여 최종 분류 점수를 계산한다.

 

 

 

 


뉴럴 네트워크와 는 굉장히 유사하다. 신경망이라는 용어는 생물학적 뉴런에서 영감을 받았지만, 실제로는 매우 단순화된 모델이다. 생물학적 뉴런과 인공 뉴런 간의 유사성은 매우 제한적이며, 뉴럴 네트워크는 주로 효율적인 계산을 위해 단순화된 구조를 채택하고 있다. 다음은 유사성에 대한 자료이다.

 

 

 

 



NN의 강력한 표현력은 다중 레이어의 Space Wraping에서 나온다. 왜곡(space warping)을 통해 입력 공간을 복잡하게 변환하여 선형적으로 분리할 수 없는 데이터도 효과적으로 분류할 수 있다.

 

 

 

 

위의 두 그림은 보면, x1과 x2가 두개 다 증가하는 영역은 A 이다. Feature transform을 통해 h = ReLU(Wx), Space wrapped 된 좌표계에서 Space A를 제외하고 나머지의 영역은 각각 h2에 수렴, h1에 수렴, 원점에 수렴한다. 이것은 ReLU, 비선형성 활성화 함수로 한 번 Space wrapped 된 좌표계이다. Feature transform된 좌표계에서 이젠 Linear classifier을 사용하여 구분할 수 있게 된다.

두번째 그림을 참고하자.

 

 

 



그러나 뉴럴 네트워크의 학습 과정은 비볼록(non-convex) 최적화 문제로 인해 매우 복잡하며, 이론적으로 수렴 보장이 없다.

 

 

-> there is no theoretical confirmation with non-convex functioned Neural Network. But,our main takeaway is that we'll just do it(use Neural Network), since it's working well anyway... hope theory will catch up soon.

 

 

 

실제로 뉴럴 네트워크의 학습은 매우 복잡한 손실 곡면에서 이루어지며, 이는 경사 하강법과 같은 최적화 알고리즘이 최적의 솔루션을 찾기 어렵게 만든다.

 

 

 

 

 

 

 

 

 

 

...오늘은 Feature transform과 Neural Network의 기본 개념을 소개하고, 뉴럴 네트워크의 강력한 표현력과 그 한계에 대해 논의해보았다. 다음 강의에서는 뉴럴 네트워크의 학습 과정에서 중요한 역전파(backpropagation) 알고리즘에 대해 다루어 보자.

반응형