[PyTorch] 퍼셉트론

imacusirius·2021년 11월 24일
0

퍼셉트론은 가장 간단한 신경망으로, 생물학적 뉴런을 본떠 만들었다.
입력과 출력이 있고, '신호'는 입력에서 출력으로 흐른다.


퍼셉트론 유닛에는 입력(x), 출력(y), 3개의 다이얼(가중치(w), 절편(b), 활성화 함수(f))이 있다.
가중치와 절편은 데이터에서 학습되고, 활성화 함수는 신경망과 타깃 출력을 기반으로 설계자의 직관에 따라 결정된다.

수학적으로 나타내면 다음과 같다.
y=f(w×x+b)y=f(w×x+b)

일반적으로 퍼셉트론에는 입력을 하나 이상 사용한다. 이를 벡터로 표현할 수 있다. x, w는 벡터이고, x와 w의 곱은 점곱(dot product)으로 바뀐다.
y=f(wx+b)y=f(wx+b)

ff로 표시한 활성화 함수는 일반적으로 비선형 함수다. 선형 함수는 그래프가 직선인 함수(1차 함수)이다. 예시에서 wx+bwx+b는 선형 함수로 볼 수 있다.

즉, 퍼셉트론은 선형 함수와 비선형 함수의 조합이다. 선형 함수 표현인 wx+bwx+b를 아핀 변환이라고도 한다.

파이토치로 구현한 퍼셉트론

// 책이랑 코드가 달라서 github 참고하였음

파이토치는 torch.nn 모듈 아래 가중치와 절편에 필요한 부가 작업과 아핀 변환을 수행해 주는 Linear 클래스를 제공한다.

위 코드에서 사용한 활성화 함수는 시그모이드 함수(sigmoid function)이다.

0개의 댓글