ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 딥러닝
    머신러닝 & 딥러닝/딥러닝 기초 2023. 12. 15. 14:41

    딥러닝이란?

     딥러닝은 머신러닝의 방법 중 하나였다. 하나의 경계선만으로 데이터를 구분할 수 없기 때문에 경계선을 배치하는 작업을 여러번 수행하는 것이 딥러닝이었다.

     

    인공신경망

    우리는 파랑색과 노랑색을 분리해야한다. 인공신경망은 위 그림과 같이 구불구불한 선을 잘 사용해서 데이터를 구분하는 방법이다. Training을 했다면 Test 데이터 셋으로 성능을 측정해야한다.

    컴퓨터에게 구불구불한 선은 무엇일까?  컴퓨터는 사칙연산을 통해서 표현한다. 즉 직선, 곡선 함수를 조합하여 표현한다.

    1) 퍼셉트론

    위 이미지와 같이 직선 위에 있는 점들의 좌표값을 더하면 같은 값을 갖게된다. 예를 들어 (1, 3), (3, 1)에 위치한다고 가정하면 좌표들의 합은 4로 같게된다. k = x1 + x2의 형태가 된다.

    즉, 초록색 선 위로는 파랑색, 아래로는 노랑색으로 구분할 수 있다. 이때 직선 함수의 입력값과 가중치는 다음과 같이 표현할 수 있다.

    입력값과 결과값을 표현한 원은 노드라고한다. w1, w2를 가중치라고 한다. 뉴런에서는 입력 신호의 가중치의 합이 어떤 임계값을 넘는 경우에만 활성화되어 1을 출력하고 그렇지 않은 경우 0을 출력한다.

    퍼셉트론은 선형적으로 분류된 문제가 주어지면 주어진 훈련 데이터를 분류할 수 있는 선분을 찾을 수 있다. 즉 직선 함수를 사용하여 데이터 분포를 표현하는 방법이 퍼셉트론이다.

    2) 비선형 활성화함수

     하지만 직선 함수로는 파랑색과 노랑색을 잘 구분하지 못한다. 더 복잡한 데이터 분포를 구분하기 위해 우리는 곡선을 이용하는 것이 용이하다.

    퍼셉트론 연산 결과를 y1이라고 할 때 y2는 다음과 같이 표현할 수 있다.

    • y2 = y1^2
    • y2 = (w1x1 + w2x2 + b)^2
    • y2 = ()x1^2 + ()x2^2 + ()x1x2 + k

    즉 y2는 x1과 x2의 제곱 형태로 표현할 수 있는데 이렇게 곡선을 표현하기 위해 적용하는 함수를 비선형 활성화함수라고 한다.

    활성화함수(Activation Function)란 뉴런이 정보를 처리하여 네트워크 전체에 전달하는 메커니즘이다. 대표적인 활성화함수에는 Sigmod, tanh, ReLU가 있다.

    활성화함수의 특징은 다음과 같다.

    • Not continuous
    • Returns either 0 or 1 (Discrete)
    • Non-linear function

    데이터를 구분하는 경계선은 퍼셉트론과 활성화함수로 구성되어 있다. 즉, 퍼셉트론과 활성화함수의 조합으로 데이터 분포를 표현하는 AI를 인공신경망이라고한다.

    왜 인공신경망일까?

    뉴런은 가지돌기에서 신호를 받아들이고 이 신호가 일정치 이상의 크기를 가지면 축삭돌기를 통해 신호를 전달한다. 뉴런은 인공신경망에서 노드에 해당하며 뉴런과 뉴런이 신호를 전달하는 것은 인공신경망의 퍼셉트론과 매우 유사하다. 또한 일정치 이상이 되어야지만 다음 뉴런으로 전달된다. 이것은 인공신경망의 비선형 활성화함수의 기능과 매우 유사하다.

    데이터 분포를 잘 구분하는 경계선 찾기

     데이터 분포를 잘 구분하는 구분선을 찾아가는 과정을 학습이라고한다.

    즉, 인공신경망 모델의 학습이란 직선, 곡선 함수들의 모양을 바꿔 데이터 분포를 잘 구분하는 쪽으로 만드는 것이다. 이때 함수들의 모양은 가중치에 의해 결정된다.

    인공신경망의 한계 및 딥러닝의 출현

     하지만 복잡한 데이터의 분포를 하나의 구분선만으로는 제대로 구분할 수 없다. 따라서 인공신경망의 방법을 여러번 사용해서 문제 해결에 접근했는데 이것이 딥러닝이다.

    인공신경망에서는 퍼셉트론과 비선형 활성화함수 덩어리를 층(Layer)이라고 하는데 이런 층을 많이 쌓은 구조를 딥러닝(Deep Learning)이라고한다.

    정리

     인공지능 초창기에는 퍼셉트론만으로 구성했지만 직선으로 데이터 분포를 구분하는데에 한계가 있었다. 따라서 비선형 활성화함수와의 조합으로 성능을 향상 시킬 수 있었다.

    하지만 한개의 구분선만으로는 복잡한 데이터 분포를 잘 구별할 수 없었다. 따라서 구분선을 만드는 작업을 여러번 수행하는 개념인 딥러닝이 출현하였다.

     

    참고자료

Designed by Tistory.