본문 바로가기
Archive

인공신경망

by livemehere 2021. 10. 28.

인간의 뇌는 천억개이상의 뉴런으로 구성되어있고, 시냅스와 수상돌기들이 연결되어 망을 형성하게 되는데 이것을 신경망(Neural network)라고 한다

퍼셉트론(Perceptron)

  • 퍼셉트론은 인공신경망으로 단일 신경망 구조이다
  • 생물학적 신경망과, 인공신경망은 유사점을 많이 가진다
  • 복수의 입력을 받아 하나의 출력을 계산
  • 입력값들마다 weight(가중치)를 곱한 값을 모두더하고, 마지막에 바이어스(bias)라고 불리는 값을 더한다
  • 더해진 총합은 활성화함수(Activation Function)에 적용되어, 활성화 수준을 계산함
  • 활성화된 값은 출력값으로 연결한다

인공신경망을 학습시킨다는 것?

  • 입력값에 곱해지는 weight(가중치)를 반복적으로 조정하여 학습한다는 것을 의미한다
  • 가중치는 입력값과 목표값이 주어지면 목표값을 만족시키지위한 학습과정에서 결정된다

Activation Function(활성화함수)

sigmoid(시그모이드)

  • 계단함수나, 부호함수와 다르게 미분이 가능
  • 0~1 사이로 출력갑싱 서서히 매끄럽게 변화한다는 특성을 가짐

Hyper tangent(하이퍼탄젠트)

  • 시그모이드와 동일하게, 미분가능
  • 차이점은 범위가 -1~1 이라는 점

ReLu(Ramp Function, Rectified Linear Function)(램프함수)

  • 램프함수라기보다는 ReLu 함수라고 불림
  • 총합 <= 0 경우 0을 할당, 0> 경우 그 값을 출력으로 사용
  • 단순, 계산란적음, 시그모이드,탄젠트보다 학습이 빠르다는 장점

나머지 함수

  • 항등함수(identify) : 입력값과 동일한 값을 출력
  • 계단함수(step) : 입력이0이상이면 1, 아닐경우 0출력 (Relu와 다른점은 0이상일떄도 그 출력을 사용하는게아니라 1로 고정이라는것임)
  • 부호함수(sign) : 입력이0이상이면 1, 아닐경우 -1출력

다중 퍼셉트론(Multilayer perceptron)

  • input layer - hidden layer - output layer

유효성 검증 데이터

  • model.fit()을 하여 모델을 학습시킬 때 validation_data(x,y) 를 학습데이터와 별도로 넣어주면서 현재 모델에 대한 유효성을 검증함
  • 일반적으로 학습데이터의 20%를 검증데이터로 분할하여 하용함
    • 이때 사용하는 코드는 validation_split=0.2 이와 같이 사용

오류 역전파 알고리즘(error backpropagation algorithm)

  • 순전파 신경망 : input -> hidden -> output
  • 전 방향에서 획든된 에러를 앞으로 되돌림으로써 가중치를 갱신하는 방법임
  • 신경망의 가중치는 역전파를 통해 업데이트된다

One-Hot Encoding

  • 표현하고 싶은 클래스만 1로 표시하고, 나머지는 0으로 표시하는 방법

다층 인공 신경망 만들기

활성화 함수

  • hidden layer : ReLu
  • Output layer : softmax

최적화함수

  • Adam

Loss(손실)

  • cross entropy, categorical_crossentropy
  • 엔트로피란?
    • 집단의 무질서 척도

Softmax function

  • 활성화 함수의 일종
  • 입력된 값을 0~1 사이로 정규화해서 출력하는데, 총합은 1을 가짐
  • classification(분류문제)에서 출력층의 활성화 함수로 사용함
반응형

'Archive' 카테고리의 다른 글

Flutter ListView 사용해보기  (0) 2021.10.29
플러터 기본  (0) 2021.10.29
회귀분석  (0) 2021.10.28
Tensorflow 기초  (0) 2021.10.28
딥러닝 기초 용어와 개념  (0) 2021.10.27