1주차. ANN_from Perceptron to MLP
Artifical Neural Network (ANN)
Perceptron은 인공지능의 알고리즘이다.
Input layer와 Output Layer로 이루어져 있고 Output layer은 하나의 노드이다.
Input과 Output layer을 연결하는 것을 weight(가중치)라고 부른다.
입력된 값들을 가중치와 곱해주고 그 값들을 activation function에 넣어 출력하는 과정이다. 그 과정을 아래와 같이 표현할 수 있다.
여기에서 bias는 값을 조정해주기 위해서 임의의 수를 더하는 것이다.
Perceptron에서 activation function은 step function을 사용한다.
step function의 특징은 양의 값을 넣어주면 +1, 음의 값을 넣어주면 -1이 반환되는 것이다.
파이썬에서는 연산을 위해 선형대수 (matrix)를 사용한다.
Perceptron의 기하하적 의미는 좌표 평면에 위치한 점들을 선으로 구분하는 것이다.
perceptron은 입력된 데이터가 선형적으로 구분하기 쉽게 주어지면 정확도가 높지면 그렇지 않으면 정확도가 떨어진다.
그로 인해 Multi Layer Perceptron (MLP)가 등장했다.
특징으로는 1. Hidden layers 2. activaition function(step function -> sigmoid function) 3. error backpropagation이 있다. 자세한 내용은 다음 강의에서 살펴보자.
계산하는 방법은 간단하다.
입력된 데이터를 여러개의 perceptron을 만들어 구분해주고 그로 인해 생기는 영역을 병렬로 계산하여 하나의 점을 바꿔준다. 그리고 다시 perceptron을 만들어 구분해주면 된다.
n번의 과정을 반복하는 것이기 때문에 복잡할 뿐 어려운 개념은 아닌 것 같다.
이 글은 오기용 교수님의 인공지능 여름학교 강의를 듣고 기록한 강의노트이다.