본문 바로가기

AI

Deep Learning 개론

728x90

Vision의 역사는 오래돼었다. 아래 이미지는 Evolution's Big Bang 이라는 제목과 함께 5억 4300만년 전 지구의 생명체를 보여주고 있고, 이 시기는 '캄브리아기 대폭발'로 알려진 시기로, 지구 역사에서 생명체의 다양성이 급격히 증가한 시점이다.

 

이런 현상이 일어난 이류로 오스트레일리아의 동물학자가 가장 설득력 있는 의견을 내놓았는데, 이 시기에 동물에게 처음 시각이 생겼다라는 주장이었다. 동물에게 시각이 주어짐에 따라 동물들이 능동적으로 살게 되었고(포식자, 피식자), 동물들은 생존을 위해 빠르게 진화한 것이다.

 

이후 시각은 점점 중요한 감각 기관으로 발전하였다. 특히 지능이 높은 동물인 인간은 시각을 가장 큰 감각 시스템으로 가지고 있다. 이후 시각은 점점 중요한 감각 기관으로 발전하였다. 특히 지능이 높은 동물인 인간은 시각을 가장 큰 감각 시스템으로 가지고 있다.

 

https://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture1.pdf

 

 

이런 생물학적 진화는 현대 기술, 특히 computer vision의 발전과도 밀접한 관련이 있다. Computer vision은 자연에서의 시각 시스템을 모방하려는 시도로 시작되었으며, 머신러닝과 딥러닝의 발전과 함께 이미지를 분석하고 이해하는 기술로 빠르게 발전해 왔다.

 

이러한 computer vision에 관련한 주요 task중 하나인 image classification에 대해 공부해볼 예정이다.

 

Image classification이란, AI에게 이미지를 보여주고 그 이미지가 무엇을 나타내는지 분류하는 작업이며. 이는 컴퓨터 비전에서 가장 기본적이면서도 중요한 과업 중 하나로, 다양한 응용 분야에서 사용된다.

 

Image classification의 주요 목표는 주어진 이미지를 분석하여 미리 정의된 여러 클래스 중 하나로 정확하게 분류하는 것이다.

예를 들어, 아래 그림에서 보듯이, AI가 개, 고양이, 자동차 등 여러 객체가 포함된 이미지 데이터셋을 학습한 후, 새로운 이미지가 주어졌을 때 그 이미지가 어떤 카테고리에 속하는지 예측한다.

 

 

이 과업을 성공적으로 수행하기 위해서는 AI가 이미지 내의 패턴을 인식하고, 이를 통해 해당 이미지가 속하는 클래스를 추정할 수 있어야 한다.


이러한 작업을 위해 AI는 인공 신경망(Artificial Neural Network, ANN)을 사용한다.

 

이름에서 알 수 있듯, Artificial Neural Network는 인간 뇌의 뉴런 네트워크를 모델로 한 구조로, 생물학적 뉴런 네트워크와 인공 신경망 사이에는 몇 가지 중요한 유사점이 존재하며, 이는 AI가 데이터를 처리하고 학습하는 방식에 깊이 반영된다.

 

Artificial Neural Network는 실제 생물학적 뉴런과 매우 유사한 방식으로 동작하며. 생물학적 뉴런은 자극을 받아 신호를 처리하고, 다른 뉴런으로 신호를 전달하는 과정을 통해 정보를 학습한다. 이 학습 과정에서 중요한 역할을 하는 것이 시냅스의 연결 강도이다. 인간의 뇌에서는 학습이 일어날 때 뉴런 간의 연결 강도가 변화하면서 새로운 정보가 저장되고, 경험을 통해 점차 뇌가 발전하게 된다.

 

인공 신경망에서도 비슷한 원리가 적용되는데. 뉴런(neuron) 에 해당하는 인공 신경망의 노드는 입력 데이터를 처리하고, 가중치(weight)와 활성화 함수(activation function)를 적용하여 출력 신호를 생성한다. 이 출력 신호는 다음 레이어로 전달되며, 이 과정에서 **가중치(weight)**가 학습에 따라 조정되어 진다. 가중치가 바로 생물학적 신경망에서의 시냅스 연결 강도에 해당하며, 이 값이 학습을 통해 최적화된다.

구체적으로:

  1. 사람의 뇌: 뉴런이 수많은 연결을 통해 자극을 받아 신호를 처리하고, 이 신호는 연결된 뉴런을 통해 전달됩니다. 각 뉴런 간의 연결 강도는 학습을 통해 변화하며, 이를 통해 뇌가 새로운 정보를 습득한다.
  2. Artificial Neural Network: 입력 데이터를 처리하는 노드는 신호를 전달하며, 이 과정에서 가중치가 중요한 역할을 하며. 학습이 진행됨에 따라 이 가중치들이 업데이트되면서, 네트워크가 주어진 과업을 점점 더 잘 수행할 수 있게 된다.

다음 그림은 Artificial Neural Network와 사람의 신경망을 비교한 것 이다.

 

https://towardsdatascience.com/the-differences-between-artificial-and-biological-neural-networks-a8b46db828b7

 

이 두 구조는 매우 유사하지만, 중요한 차이점도 존재하는데. 사람의 뇌는 수십억 개의 뉴런과 그보다 훨씬 많은 시냅스를 포함하며, 각 뉴런은 복잡한 화학적, 전기적 신호를 주고받는다.

 

반면에 인공 신경망은 수학적 연산을 통해 정보 처리를 수행하며, 뉴런 간의 연결은 가중치 매개변수를 통해 디지털 방식으로 구현된다. 이 점에서 생물학적 신경망의 복잡성을 인공 신경망이 완전히 모사하는 것은 불가능하지만, 이 유사성을 바탕으로 인공 신경망은 다양한 학습과 인지 과업을 성공적으로 수행할 수 있게 되었다.

 

결과적으로, 인공 신경망은 생물학적 신경망의 학습 원리를 차용하여 이미지 분류, 음성 인식, 자연어 처리와 같은 복잡한 작업을 수행할 수 있다. 이 학습 과정에서 가중치의 변화는 바로 AI 모델이 더 나은 성능을 발휘하게 만드는 핵심 요소이다.

 

Fully Connected layer

Fully Connected Layer는 인공 신경망에서 가장 기본적이면서도 중요한 계층 중 하나이며, 그 구조는 생물학적 신경망을 모방한 것이다.

아래 그림에서 볼 수 있듯, 왼쪽에 있는 원은 뉴런(neuron) 을, 각 원을 연결하는 선은 뉴런 간의 연결 강도(가중치) 를 나타낸다. Fully Connected라는 이름에서 알 수 있듯, 왼쪽의 모든 뉴런이 오른쪽의 모든 뉴런과 완전히 연결되어 있다. 이 구조는 정보가 여러 계층을 거치면서 학습을 통해 최적화되는 방식에서 인간의 뇌와 유사한 작동 원리를 보여준다.

 

Fully Connected Layer에서의 학습은 뉴런 간의 연결 강도 조절하면서 이루어진다. 사람이 학습할 때, 뉴런 간의 연결 강도(시냅스)가 강화되거나 약화되며 지식이 축적된다.

 

이와 유사하게, 인공 신경망에서는 학습 과정 동안 가중치(weight)(뉴런들을 이어주고 있는 선에 할당되어 있는 숫자)가 조정된다. 이러한 가중치는 뉴런 간의 연결을 나타내며, 학습을 통해 최적의 가중치를 찾아냄으로써 AI 모델이 더 나은 예측을 할 수 있게 됩니다. 초기에는 가중치가 무작위로 설정되지만, 훈련 과정 중 오차 역전파(backpropagation) 알고리즘을 사용해 점진적으로 조정된다.

Multi Layer perceptron

Multi-Layer Perceptron (MLP) 는 Fully Connected Layer를 여러 층으로 쌓은 신경망 구조를 의미한다. Perceptron은 인공 신경망의 가장 기본적인 단위로, 입력 데이터를 받아 가중치와 함께 계산한 후 출력으로 전달하는 역할을 한다. 이를 여러 층으로 쌓아 올린 구조가 바로 MLP이다.

아래 그림에서 보듯이, 입력층(Input Layer), 은닉층(Hidden Layer), 그리고 출력층(Output Layer)이 차례로 연결되어 있으며, 각 층은 fully connected layer로 이루어져 있다.

728x90