Machine Learning/기초 개념

[머신 러닝] 퍼셉트론과 인공 신경망

꿈을 파는 두더지 2024. 8. 12. 20:02

최근 교내 학부연구생을 하고 관련 프로젝트들을 진행하느라 블로그 작성이 뜸해졌다.
다시 기초 개념을 정리하면서 배웠던 내용들을 다시 상기할까 한다.
이번에는 머신 러닝이 처음 나올 때의 개념들을 하나씩 설명하려고 한다.

퍼셉트론과 뉴런

뉴런은 우리 뇌속에 있는 형태. 퍼셉트론은 이를 수학적으로 모델링한 것이다.

일반적인 신경망 형태

결국 하나하나 노드로 되어 있는 것이 퍼셉트론이고 뉴런이라고 할 수 있다.

 

신경망

가중치 설정을 사람이 계속 해야되는 문제가 있다.
인간의 뇌와 유사하게 뉴런들을 연결하는 형태를 신경망이라고 부른다.

신경망 형태

가중치는 추후에 다뤄보도록 하겠다. 그냥 Neural Network도 사람의 뇌처럼 신경망으로 구성되어 있다고 보면 된다.

 

인공 신경망의 종류

일반적으로는 DNN, CNN, RNN으로 구분된다.
이정도만 알아도 인공 신경망을 처음 접할 때 큰 도움이 될 것이다.

DNN (Deep Neural Network)

DNN 신경망 형태

DNN은 퍼셉트론의 관점에서 볼 때 하나의 입력과 하나의 출력층으로 이루어져 있으며 많아야 중간에 하나의 중간층을 가지고 있다. 그러나 심층 신경망은 입력층과 출력층 사이에 다수의 은닉층들로 구성되어 있다.

층간 연결을 없애면, 머신은 가시층과 은닉층으로 이루어진 무방향 이분 그래프 형태의 모양을 기반으로 사전학습을 통해 어느정도 보정을 한 후 튜닝의 과정으로 최종 가중치를 계산하는 방법이다.

 

 

CNN (Convolution Neural Network)

CNN은 최소한의 사전처리를 사용하도록 설계된 다층 퍼셉트론의 한 종류로서 하나 또는 여러개의 합성곱 계층과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있다.

다른 딥러닝 구조들과 비교해서 영상, 음성 인식 모두에서 좋은 성능을 보여준다.

일반적으로 Computer Vision (시각적 모델)에서 많이 사용하였던 신경망 형태이다.

CNN 신경망 형태

 

RNN(Recurrent Neural Network)

RNN은 유닛간의 연결이 순환적 구조를 갖는 특징을 가지고 있어서 지금 들어온 입력데이터와 신경망 내부에 상태를 저장할 수 있도록 과거에 입력받았던 데이터를 동시에 고려할 수 있다.

신경망 내부에 상태를 저장할 수 있게 해줌으로써 내부의 메모리를 이용해 시퀀스 형태의 입력을 처리하여 필기체 인식이나 음성인식과 같이 시변적 특징을 가지는 데이터를 처리하는데 데 용이하다.

일반적으로 Language Model (언어 모델)에서 많이 사용하였던 신경망 형태이다.

RNN 신경망 형태