close_btn
조회 수 24495 추천 수 1 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

슬라이드1.PNG


슬라이드3.PNG



퍼셉트론은 단층신경망으로 input의 가중치합에 대해 임계값을 기준으로 2가지 output 중 한가지를 출력하는 간단한 구조이다.

슬라이드4.PNG

 


이러한 단층 퍼셉트론에 대한 3가지 대표적인 예시 “ OR게이트, AND게이트, 그리고 NAND게이트가 존재한다. 이 예시들은 2가지 변수를 input으로 받아들여 임계값을 기준으로 0, 1 중 한가지 값을 output으로 출력하는 신경망구조이다.


슬라이드5.PNG

슬라이드6.PNG  


위와 같이 3개의 퍼셉트론은 동일한 구조를 가지고 (w1, w2, 7TVxAAAARklEQVQYV2NgIAqI8TIyCwBVivFyMghy) 값에 따라 퍼셉트론이 정해진다. 그렇다면 (w1, w2, 7TVxAAAARklEQVQYV2NgIAqI8TIyCwBVivFyMghy) 값이 퍼셉트론을 결정하는 가장 중요한 요소인데 단층신경망에서는 이 값을 어떻게 학습하고 결정할까?



슬라이드8.PNG

 


단층 퍼셉트론은 델타규칙을 이용해 (w1, w2, 7TVxAAAARklEQVQYV2NgIAqI8TIyCwBVivFyMghy) 값을 학습하고 결정한다. 델타규칙은 Gradient Descent 원리를 이용해 손실함수 MSE를 최소화하는 (w1, w2, 7TVxAAAARklEQVQYV2NgIAqI8TIyCwBVivFyMghy) 값을 찾는 학습이다.

슬라이드9.PNG



위와 같이 MSE는 퍼셉트론으로 예측된 output과 실제 output의 오차제곱합의 평균이고 델타규칙은 Gradient Descent 원리를 이용해 MSE 함수의 접선의 기울기를 감소하는 방향으로 w의 변화량을 결정해 MSE 함수를 최소화하는 (w1, w2, 7TVxAAAARklEQVQYV2NgIAqI8TIyCwBVivFyMghy)을 찾는다. 이 때, w의 변화량의 정도를 결정하는 것이 learning rate 7TVxAAAAPklEQVQYV2NgoBTwMTLx8vEwMPAxC4lw이고 7TVxAAAAPklEQVQYV2NgoBTwMTLx8vEwMPAxC4lw가 작을수록 w의 변화량이 작아지므로 더 정확한 결과값을 도출하기 위해서는 작은 learning rate를 이용한다.

슬라이드10.PNG


델타규칙의 자세한 수식은 아래에서 확인할 수 있다.

슬라이드11.PNG  


그런데 델타규칙의 MSE함수와 Gradient Descent 원리의 적용은 Linear RegressionOLS 원리와 동일하지 않은가? 그러므로 TensorFlow를 이용해 Linear Regression을 적용해보도록 하자.



슬라이드13.PNG

 

TensorFlow Linear Regression TensorFlow를 이용해 가장 적합한 Linear Hypothesis W9nCj8H1yUwDeE1hywQy2ltgAAAABJRU5ErkJggg modeling하는 분석기법이다. 기본적인 구조는 위에서 살펴본 퍼셉트론의 델타규칙과 유사하고 Linear Regression은 델타규칙의 손실함수 MSECost함수로 변경된 구조이다.

슬라이드14.PNG슬라이드15.PNG

 


TensorFlow Linear Regression을 TensorFlow에서 이용하기 위해서 TensorFlow Mechaics를 익히고 그 과정을 따라 code를 설계해야 한다.


슬라이드16.PNG


TensorFlow Mechaics는 다음과 같고 이것의 적용은 code에서 더 자세하게 살펴보도록 하자.

슬라이드17.PNG

 


하지만 이러한 퍼셉트론에는 한계가 존재한다.


슬라이드18.PNG


퍼셉트론은 임계값을 기준으로 두분류로 나누는 신경망 구조이므로 선형분할만 가능하다. 따라서 아래의 XOR게이트는 단층신경망으로 구조화 할 수 없다.

슬라이드19.PNG



따라서 이러한 단층 퍼셉트론의 한계를 해결하기 위해 제시된 방법이 여러가지 단층 퍼셉트론을 순차적으로 이용하는 방법이다. 아래와 같이 비선형 XOR게이트는 단층퍼셉트론을 2층 구조로 구조화 할 수 있다. 먼저 NAND게이트와 OR게이트를 이용한 1층 구조 위에 AND게이트를 2층으로 구조화하면 단층 퍼셉트론을 이용해 XOR게이트를 실현할 수 있다.

슬라이드20.PNG


이렇게 단층 퍼셉트론을 여러 층으로 쌓는 것을 배경으로 현재의 다층신경망이 등장했고 이것이 Deep Learning의 기원이 되었다.

 




이제 위에서 살펴본 이론을 python을 이용해 coding 해보도록 하자.


먼저 TensorFlow를 이용하기 위해 TensorFlow를 설치해야 한다.

설치는 다음 블로그를 참고해 TensorFlow를 설치하자. http://m.blog.naver.com/windpriest/220937771369





다음은 jupyter에서 위의 이론을 실현한 결과이다.

jupyter.png










================================ Reference ===============================

 

 

- 밑바닥부터 시작하는 딥러닝 (파이썬으로 익히는 딥러닝 이론과 구현)  - 사이토 고키 개앞맵시 한빛미디어 2017.01.03.

- 텐서플로 첫걸음 (텐서플로 1.0 버전 테스트 완료,회귀분석, 군집화, 합성곱 신경망까지 딥 러닝 제대로 입문하기)  - 조르디 토레스 저 박해선 역 한빛미디어 2016.08.29.

- 러닝 제대로 시작하기 - 오카타니 타카유키 심효섭 제이펍 2016.10.10.

 

강의

- 모두를 위한 딥러닝 강좌 시즌1 - https://www.youtube.com/playlist?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm

 

- https://github.com/hunkim/DeepLearningZeroToAll

- http://m.blog.naver.com/windpriest/220937771369

 


나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5