인공신경망에 대해서 간단히 개념을 짚어볼까한다.
우선 퍼셉트론부터 !!
퍼셉트론
신경망의 기본 단위는 뉴런이다.
이 하나의 뉴런에서 다수의 신호를 입력 받아 하나의 신호를 출력하는 알고리즘을 퍼셉트론이라고 한다.
이때 x1, x2가 입력신호로 들어가고 y가 출력 신호로 나온다. 그리고 w1,w2가 가중치가 되겠고 이들을 둘러싸고 있는 원을 뉴런 다른 말로 노드라고 표현한다.
퍼셉트론 작동 방식
퍼셉트론이 작동하는 방식은 일단 입력신호x1, x2가 뉴런에 보내질 때 각각의 고유한 가중치 w1, w2와 각각 곱해진다.
그래서 이 신호들의 총합이 정해진 임계치를 넘어설 때 1을 출력하고, 임계치보다 작거나 같을 때는 0을 출력하게 된다.
이렇게 신경망이 작동하는 걸 뉴런이 활성화된다라고도 말할 수 있다.
이때 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로, 가중치가 클수록 해당 신호가 더 중요하다는 의미이다.
퍼셉트론 종류 - 단층 퍼셉트론
그리고 퍼셉트론에는 2가지 종류가 존재한다.
Single layer 그리고 multi layer다.
먼저 single layer 단층 퍼셉트론은 인풋 레이어와 아웃풋 레이어 2개의 단계로 이루어진 퍼셉트론이다.
단층 퍼셉트론을 이용했을 때에는 AND게이트 , NAND낸드 게이트, OR게이트를 구현할 수 있다.
먼저 AND게이트는 입력 신호가 모두 1일때만 1을 출력하고, 하나라도 0이면 0 출력하는 게이트이다. NAND낸드 게이트는 AND 게이트랑 완전히 반대인 형태로, 입력 신호가 모두 1일때는 0을 출력하고, 하나라도 0이면 1을 출력하게 된다. OR게이트는 입력 신호가 모두 0일때 0 을 출력하고, 하나라도 1이면 1을 출력하게 된다.
단층 퍼셉트론의 한계
이때 단층퍼셉트론의 한계는 XOR게이트를 구현할 수 없다는 점
* XOR 게이트는 모두 0이거나 모두 1일때만 0을 출력하게 되고, 나머지 일 때 1을 출력.
XOR에서는 직선 하나로, 다시 말해 선형으로 분류가 불가능하다. 근데 단층에서는 직선 하나로 2개의 영역을 나누고 있기 때문에, 곡선, 다시 말해서 비선형으로 영역 표현이 어렵다는 한계가 존재하게 된다. 그래서 다층 퍼셉트론 MLP를 통해서 이 한계를 극복할 수 있다.
퍼셉트론 종류 - 다층 퍼셉트론(MLP)
다층퍼셉트론은 중간에 은닉층을 하나 더 추가한 구조이다.
층을 겹겹이 쌓아가면서 선형 분류로 풀지 못했던 문제를 비선형으로 풀 수 있게 되는거다. 따라서 아까 봤던 XOR게이트도 표현할 수 있게 된다.
이때 다층 퍼셉트론만으로도 복잡한 함수를 표현할 수는 있지만, 퍼셉트론은 원하는 결과를 출력하도록 가중치를 직접 수동으로 설정하는 작업을 거친다는 점에서 한계를 갖고 있다. => 해결하는 방법으로 신경망 등장 !!
*딥러닝을 이야기할 때 '자동으로 알아서 학습한다' 라고 말을 많이 한다. 이때 알아서 가중치 값을 설정하고 조정한다는게 바로 이 자동으로 학습한다는 말과 동일하다고 보면 된다.
'데이터 스터디 > DL' 카테고리의 다른 글
06. 옵티마이저 (optimizer) (0) | 2022.07.16 |
---|---|
05. 경사 하강법 (0) | 2022.07.16 |
04. 신경망 학습 - loss function (0) | 2022.07.16 |
03. 신경망 추론 - 활성화 함수, 출력층 함수 (0) | 2022.07.16 |
02. 인공신경망 (0) | 2022.07.16 |