본문 바로가기
국비교육기관/수업

83일차 Linux / DeepLearning - XOR,OR 게이트, 퍼셉트론

by 밀키스 2021. 7. 5.

21.07.05

 

 

 

 Linux 

asd

asd

 

 

================================================

 

 

 Deap Learning 

 

 

@환경 셋업 

아나콘다에 새로운 환경 구축

 

 

  • 새로운 폴더 생성

 

 

 

  • 설치되어있지 않은 패키지를 다운
  • "Jupyter""Tensorflow" 2개를 다운 받아 준다.

 

 

 

 

 

 

그리고 모든 업데이트가 끝나면 생성한 폴더로 변경.

 

 

 


 

 

@ 퍼셉트론 만들기 

  • w1*x1 + w2*x2 의 식을 형성하여 해당 식이 0보다 클 때는 1, 작으면 0이 return 되도록 만든다.
  • 결국엔 그냥 AND 게이트를 만드는것. 두 값이 모두 1인 경우에만 1을 리턴하고, 아니면 0을 주는 것.

 

 

 

 

 

 


%OR 게이트 

비슷한 방식으로 OR 게이트 또한 만들 수 있다.

 

  • 둘 중 하나라도 1이라면 1이 return되도록 만든다.

 

 


%XOR 게이트 - 퍼셉트론의 한계 

 

단순히 퍼셉트론만 사용한다면 직선형의 문제만 해결할 수 있다.

XOR 게이트라는 문제를 해결하기 위해서는 아래와 같은 "Multilayer Perceptron"을 이용한다.

 

 

  • 비선형 데이터를 분리 할 수 있다.
  • 학습시간이 오래 걸린다.
  • 가중치 파라미터가 많아 과적합되기 쉽다
  • 가중치 초기 값에 민감하며 지역 최적점에 빠지기 쉽다.

 

 


 

  • 이를 구현하기 위해선 NAND(AND의 반대)와 OR 게이트를 이용하는 것.
  • 어렵게 생각할 것 없이, AND 게이트의 반대인 NAND를 형성.
  • x1에 해당하는 부분에는 NAND의 결과 값을, x2에 해당하는 부분엔 OR의 결과 값을 대입
  • Return되는 값은 AND 게이트의 형식을 따른다.

 

 


NAND를 형성, 해당 함수를 이용

 

 

혹은 아래와 같이 간단히 한줄로만 끝낼 수도 있다.

반응형

댓글