Byeonguk Kim

안녕하세요. 29살의 조금은 늦은 나이로 새롭게 개발자로 시작하는 신입 개발자입니다. 포트폴리오 [https://deaguowl.github.io]

딥러닝 02. 딥러닝의 학습원리

17 May 2019 » 딥러닝

2019.05.17 딥러닝 원리 알아보기

  • 신경망 첫걸음 책을 활용하여 공부하고 있습니다.

딥러닝의 원리

예측

  1. 어떤 것을 명확히 파악할 수 없을 때 모델을 정교화 해나가는 좋은 방법은 오차에 기초해 매개변수 값을 조정해 나가는 것이다.

학습률

  1. 조정 과정을 거치면서 가장 큰 문제점은 바로 이전의 학습 데이터는 무시하고 최종 학습 데이터에만 맞춰 업데이트 된다는 것이다.
  2. 이를 해결하기 위해 학습률을 도입함으로서 단일 학습 데이터가 학습에 지배적인 영향을 주는 것을 방지한다.

분류자

  1. 특정 기준으로 데이터를 분류해야 할 때 그 특정 기준이 한개로는 부족한 경우가 대부분이다. (단순한 선형 분류자)
  2. 이런 경우 여러개의 선형 분류자를 이용해 데이터를 분류할 수 있다.

노드

  1. 데이터를 학습 시키기 위한 각각의 인공 뉴런을 노드라고 부른다.
  2. 각각의 노드들은 서로 연결되어 있는 형태로 구성하고(꼭 그런 것은 아니지만 이렇게 연결하는 것이 프로그램 구현에 더 편리하고 효율적이다)
  3. 이러한 노드들은 여러 계층(layer)에 걸쳐 위치시킨다.
  4. 각각 노드들의 연결은 가중치를 포함한다.
  5. 각 신호들은 특정 분계점을 지나야 출력되게 된다.

신경망의 신호 계산

  1. 행렬을 통해 이 문제를 해결할 수 있다.
  2. X = W * I
    1. W는 각각의 가중치
    2. I는 input으로 초기 주어진 값들

계층

  1. 입력계층(input layer) / 은닉계층(hidden layer) / 출력계층(output layer)

결과값 도출

  1. 결국 계층 노드의 입력값에 가중치를 곱해서 계산하고 활성화 함수(sigmoid 등)를 적용함으로서 최종 결과값을 도출할 수 있다.
  2. 이렇게 얻어진 결과 값을 학습 데이터의 실제 값과 비교해 오차를 구하고 그 구한 오차를 이용해 우리의 신경망을 정교하게 업데이트해감으로서 보다 개선된 결과 값을 내는 것이 우리가 할 일이다.