Perceptron

다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다.

실제 뇌를 구성하는 신경 세포 뉴런의 동작과 비슷하여 인공신경망이라 불립니다.

 

OR, AND, XOR

위의 사진을 보시다시피 OR와 AND 연산은 직선 하나를 이용하여 구분이 가능하지만

XOR에서는 직선 하나를 이용하여 +와 -를 구분할 수 업습니다.

그래서 나온 방법이 Multi Layer입니다.

 

 


XOR 문제 직접 만들어보기

torch, torchvision 설치

 

 


import 및 device 정의 해주기

 

 


맨 위의 XOR 문제를 재현하기 위해 X와 같은 형태로 선언을 해줍니다.

Input = 2, Output = 1이므로 torch.nn.Linear(2, 1, bias = True)로 설정해줍니다.

criterion의 torch.nn.BCELoss()가 있는데

BCELoss()는 Binary Cross Entropy의 약자로 생각하시면 편할것 같습니다.

 

결과값을 보면 loss값이 줄어들지 않는것을 볼 수 있습니다.

 

 


조금 더 정확하게 보기 위해 위와 같이 출력을 해주면

최종 정확도는 0.5 (50%)가 나오는 것을 알 수 있습니다.

'Deep Learning > Pytorch' 카테고리의 다른 글

12_Pytorch_Multi_Layer_Perceptron_XOR  (0) 2021.08.25
11_Pytorch_Backpropagation  (0) 2021.08.25
09_Pytorch_Softmax_Classifier MNIST  (0) 2021.08.25
08_Pytorch_Softmax_Classification  (0) 2021.08.18
07_Pytorch_Logistic_Regression  (0) 2021.08.18

+ Recent posts