본문 바로가기

Python/Data Analysis

Data Analysis / DL / Basic

< Perceptron >

▷ 사람의 뇌에는 뉴런(Neuron)이라는 신경세포가 있고, 이와 같은 동작을 하도록 프로그래밍 적으로 만든 것이 perceptron 이다.

Neuron

▷ 소리, 냄새, 시각 등의 자극이 input으로 들어오고, 자극이 합쳐진 후 일정 수준을 넘으면 다음 뉴런으로 자극을 전파하는 구조

▷ perceptron은 다수의 신호를 입력받아서 하나의 신호를 출력하는 구조 (logistic과 동일)

▷ Tensorflow 1.15 버전으로 기본적인 AND, OR GATE를 학습할 수 있는지 확인해보자


< Tensorflow 1.15 - AND GATE 구현 >

▷ 데이터를 바꾸면 AND, OR, NAND, NOR 모두 잘 구현되는 것을 확인할 수 있다.

▷ 하지만, XOR 학습에서 문제가 발생

  • 하나의 linear로 데이터를 나눌 수 없기 때문

< Artificial Neural Network (인공신경망) >

▷ Neural Network를 program 적으로 표현한 형태

Artificial Neural Network


< Deep Learning >

▷ Artificial Neural Network(ANN)과 근본적으로는 같음

▷ 1개의 logistic regression을 나타내는 node가 서로 연결되어있는 신경망 구조를 기반으로 입력층(input layer), 1개이상의 은닉층(hidden layer), 출력층(output layer) 구조로 이루어져 있음

▷ 출력층의 오차값을 이용해서 각 node의 가중치(W)를 학습시키는 Machine Learning 기법

▷ 은닉층의 수가 많을수록 학습이 잘되지만, 시간이 오래걸리고 Overfitting 위험이 있다.

Deep Learning 구조


< Deep Learning(TF 1.15) - XOR GATE 구현 >

 

 

▷ Deep Learning을 이용하면 XOR GATE를 학습할 수 있음을 확인할 수 있다.


< Deep Learning(TF 2.x) - XOR GATE 구현 >

Accuracy Graph