인공신경망과 딥러닝

박용민·2022년 3월 21일
0

쉬운 딥러닝

목록 보기
1/8
post-thumbnail

뇌세포를 모방한 기계, 퍼셉트론

뉴런의 구조

  • 인간의 뇌와 척수는 뉴런(신경세포)으로 구성되어 있다.
  • 뉴런은 입력부와 출력부로 구분할 수 있다.
  • 입력부가 외부로부터 받은 자극이 역치 이상이면 전기적 신호를 만들어 출력부로 전달한다.
  • 전기적 신호를 활동 전위라고 부르는데 이때 입력받은 자극이 지나치게 작다면 뉴런은 그 신호를 무시한다.

퍼셉트론의 구조

  • 외부에서 들어오는 입력값에 가중치(weight)를 곱한 값을 모두 더하여 하나의 입력값으로 정돈한다.
  • 가중치가 큰 입력값은 퍼셉트론에 크게 영향을 미치고, 가중치가 작은 입력값은 퍼셉트론에 작은 영향을 미친다.

활성화 함수

  • 뉴런은 0 or 1 두 가지 값만 출력할 수 있는 기계이다.
  • 퍼세트론의 출력값을 뉴런의 출력값과 유사하게 다듬어주려는 도구가 활성화 함수이다.
  • 작은 숫자를 입력받으면 0에 가까운 숫자를 출력하고, 어느 정도 큰 숫자를 입력받으면 1에 가까운 숫자를 출력한다.

시그모이드 함수(Sigmoid function)

  • 입력값을 0부터 1사이의 값으로 만들어 주는 함수
  • 입력값이 작으면 작을수록 0에 가까운 값이 출력되고 클수록 1에 가까운 값이 출력된다.
  • 출력값의 범위를 0과 1사잇값으로 한정할 수 있다는 점에서 널리 활용된다.

하이퍼볼릭 탄젠트 함수(tanh)

  • 입력값을 -1부터 1사잇값으로 다듬어주는 함수
  • 입력값이 작으면 작을수록 -1에 가까운 값이 출력되고 클수록 1에 가까운 값이 출력된다.
  • 뉴런의 on-off 작동을 모사한다는 점에서 애용되지만, 최근 음수 값을 사용하지 않으려는 추세가 등장하면서 선호도가 낮아진 함수

렐루(ReLU, Rectified Linear Unit)

  • 입력값이 0보다 작은 값은 0으로 만들고 0보다 큰 값은 그대로 출력하는 함수
  • 단일 뉴런보다는 여러 개의 뉴런으로 구성된 신경 다발의 정보전달 형상에 가깝다.
  • 딥러닝의 고질적인 문제를 해결하기 위한 방법으로 조명받으며, 딥러닝 모델을 만들때 어떤 활성화 함수를 적용하면 좋을지 모르겟으면 렐루를 사용하면 대부분의 경우 높은 성능을 보인다.

리키 렐루(Leaky ReLU)

  • 리키 렐루는 렐루 함수와 달리 0보다 작은 값도 버리지 않는다.
  • 원본 그대로 출력이 아닌 약간 더 작은 값을 출력한다.
  • 몇몇 적용사례에서 렐루에 비해 월등한 성능을 보인다.

가중치는 어떻게 결정되는가?

  • 뉴런에서 가중치는 자주 정보를 주고받는 부위일수록 더더욱 가중치가 커지고, 자주 사용하지 않는 영역일수록 자중치가 감소하는 경향이 있다.
  • 일반적으로 딥러닝에서는 맨 처음에 가중치를 랜덤으로 결정한다. 이후 역전파(backpropagation)라는 알고리즘을 적용하여 퍼셉트론이 입력값을 목푯값과 잘 매칭시킬 수 있도록 조금씩 가중치를 수정해 나간다.
  • 데이터를 분석해 가중치를 수정해 나가는 과정을 '학습'이라고 부른다.

인공신경망과 딥러닝

인공신경망

  • 인공신명망(Artificial Neural Network)은 인공적인 신경을 그물(network)처럼 연결됨.
  • 한 번에 한 층씩 쌓아 올리는 경우가 많아 한 층의 신경망은 하나의 행렬로 표현할 수 있어 계산이 더 쉽다.
  • 퍼셉트론들이 모여 한 층의 신경망이 된다.

딥러닝

  • 인공신경망을 여러 층으로 쌓아 올리는 것을 다층 퍼셉트론(multilayer perceptron)이라고 부르며 퍼셉트론을 사용한 머신러닝 알고리즘을 딥러닝이라고 부른다.
  • 입력값들로 구성된 맨 왼쪽 노드들은 입력층(input layer), 가운데 있는 층은 은닉층(hidden layer), 출력값과 연결된 마지막 층을 출력층(output layer)라고 부른다.
  • 은닉층에 속한 퍼셉트론의 출력값은 오차를 측정할 기준이 없기에 은닉층 퍼셉트론의 가중치를 수정할 방법이 없었지만 역전파(backpropagation)라는 기법을 이용해 2창 이상 쌓는 딥러닝 연구가 시작되었다.

0개의 댓글

관련 채용 정보