매직코드
article thumbnail

간단하게는 입력층(0층) 은닉층(1층) 출력층(2층)으로 이루어져있다.

기존 함수에 Bias(편향)을 명시한 퍼셉트론을 포함

 

> 활성화함수

활성화함수는 편향값을 포함한 입력신호의 총합을 출력신호로 변환하는 함수

 

- 계단함수

단순 활성화함수는 주로 계단함수로 표현된다.

0의 값을 기준으로 봤을때 0보다크면 1, 0보다 작으면 0으로 정의되어있는 계단모양의 함수

 

- 시그모이드 함수

신경망에서 자주 이용하는 활성화함수

0과 1의 값이 아니라 연속적인 실수값을 반환해주는 함수

 

- 계단함수와 시그모이드 함수 비교

공통점 : 두 함수 모두 비선형함수 (신경망에서는 활성화함수로 비선형함수를 사용해야함)

차이점 : 계단함수는 0 or 1만 출력 / 시그모이드는 연속적인 실수값 출력

 

- ReLU함수 (Rectified Linear Unit Function)

최근 신경망 분야에서 이용

입력이 0이하면 0을 출력하고 0을 넘으면 해당 값을 그대로 출력

 

> 3층 신경망

은닉층이 늘어나면 3층 신경망이라고 부르기도 하는데 보통은 어떻게 신경망이 구현되고 있는지를 같이 설명해준다.

신경망에서의 계산을 행렬 계산(넘파이 배열)으로 정리할 수 있다. = 신경망 각 층의 계산은 행렬의 내적으로 처리 가능

 

> 출력층 설계

- 항등함수 : 회귀

입력을 그대로 출력

 

- 소프트맥스 함수 : 분류

지수함수를 이용 y = e^x

지수함수는 어떤 범위를 넘어서면 무한대로 발산되는 특성을 가지고 있기때문에 오버플로 문제가 발생할 수 있다.

오버플로를 막을 목적으로 입력 신호 중 최댓값을 이용하는 것이 일반적이다.

 

소프트맥스 함수의 출력은 0~1 사이의 실수

출력의 총합은 1

출력을 확률로 해석할 수 있음

신경망을 학습시킬 때는 출력층에서 소프트맥스 함수를 사용

추론 단계에서는 출력층의 소프트맥스 함수를 생략하는 것이 일반적인데, 각 원소의 대소관계가 변하지 않고 지수함수가 단조 증가 함수이기 때문이다.

 

> MNIST 데이터셋

손으로 직접 쓴 숫자(필기체숫자)들로 이루어진 데이터 셋

0~9까지 숫자 이미지로 구성되어 6만개의 트레이닝 데이터와 1만개의 테스트 데이터로 이루어짐

28 x 28 사이즈의 흑백 이미지 데이터

 

profile

매직코드

@개발법사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!