인간의 뇌는 천억개이상의 뉴런으로 구성되어있고, 시냅스와 수상돌기들이 연결되어 망을 형성하게 되는데 이것을 신경망(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 |