본문 바로가기

ComputerScience/Machine Learning

AI - 10. Perceptron

728x90

1. 신경망

- 최근 인기를 끌고 있는 딥러닝의 시작은 인공 신경망의 연구였다.

- 방대한 데이터 수집의 어려움과 하드웨어의 한계를 극복하면서 신경망 구현이 가능해졌다.

- 인공신경망은 생물학적 신경망의 형태에서 영감을 받아 고안되었다.

- 뉴런의 돌기에서 입력을 받으면 핵에서 신호를 처리하고 결과신호를 보내준다.

- 컴퓨터는 학습이 불가능하기 때문에 기존의 컴퓨터의 구조를 인간의 두뇌와 비슷하게 발전시키려는 노력에서 시작되었다.

- 이렇게 만들어진 신경망은 학습이 가능하다는 장점이 있다. 굳이 문제 상황을 정의하여 프로그램을 만들지 않아도 데이터만 있으면 학습이 가능하다.

- 또한 기존 컴퓨터와 달리 소자 몇개가 오작동을 일으키더라도 큰 문제가 발생하지 않는다. 오류가 있어도 신뢰할만한 결과를 제시할 수 있다.

- 뉴런의 모습을 수학적 구조로 나타내면 위와 같다. 

- 각 입력에 대해 가중치가 존재하고 최종합으로 input이 들어온다.

- 의도하지 않은 입력값이 계산되어 Input으로 들어오는 것을 방지하기 위해 bias를 함께 더해준다.

- bias가 필요한 이유를 한가지 들어보자.

- 만약 뉴런의 최종 output이 1, 1,..., 1, 1이라면 최종합은 계속 1이 나올것이다 이런 상황을 방지하기 위해 -값의 bias를 사용할 수 있다.

 

- 이렇게 최종 summation된 값을 activation function을 거치도록 하여 내가 원하는 range의 값으로 변환되도록 한다.

- 예를 들면 아래처럼 입력신호의 가중치 합이 특정 임계값을 넘는 경우만 뉴런이 활성화 되어 1을 출력하도록 할 수 있다.

- 이렇게 고안한 인공 신경망을 perceptron이라고 한다.

2. 퍼셉트론의 학습

- 인공 신경망에서 연산이 수행되는 예를 살펴보자.

- 아래 예시는 AND연산을 수행하는 perceptron을 만든 예시이다. 

 

- 입력값 x1, x2에 따라 연산을 수행하고 출력된 Output이 나온다. 

- 이 출력이 내가 원하는 결과가 아니라면 w1, w2를 바꿔서 다시 뉴런을 정의하게 된다. 이 weight와 bias를 구하는 과정이 학습이다. 

- 학습을 위해서는 weight, bias를 갱신하는 알고리즘이 필요하다.

- 가장먼저 w, b를 랜덤하게 초기화 한다.

- 만약 지금의 가중치가 올바른 output을 낸다면 다음 데이터를 입력으로 받는다.

- 반면 틀린 output을 내보낸다면 prediction과 label의 차이만큼 weight를 갱신하도록한다.

- 모든 input에 대해서 가중치가 변경되지 않으면 학습을 멈춘다.

- 위에서 예시를 들었던 AND연산을 수행하는 뉴런을 학습하는 과정을 살펴보자.

- 에포크는 전체 데이터를 학습하는 횟수를 말한다. input 100개를 전부다 학습하면 epoch은 1이 된다. 다시 그 100개를 전부 학습하면 epoch은 2가 된다.

3. 선형 분류

- 1개의 layer로 구성된 perceptron은 XOR문제를 학습하지 못하는 것이 수학적으로 증명되었다.

- 퍼셉트론은 계산식이 linear하기 때문에 아래처럼 대각선 방향의 데이터가 같다는 XOR을 분류할 수 없다.

- 즉 선형 분류 문제 외에는 적용이 어렵다는 것을 알았다.

- 따라서 non-Linear한 분류를 하기 위해 여러 layer로 구성된 신경망을 고안하게 된다.

- 이 다중 퍼셉트론을 학습시키기 위한 알고리즘을 당시에는 찾기 어려울 것이라고 했다. 

- 당시에는 하나의 hidden layer를 추가하는 것 조차 어려웠다. 그에 수반되는 엄청난 연산량을 감당하기 어려웠기 때문이다.

4. Deep Learning

- 여러 layer를 쌓아서 신경망을 구성하고 이를 학습시키는 것을 말한다.

- cost function : 이 신경망이 output으로 낸 결과와 label의 차이를 계산하는 함수이다. 이 값이 작아지도록 가중치를 갱신한다(학습)

- loss function의 한 예이다. 흔히 loss들의 평균이 total loss, cost가 된다.

- 신경망의 연산 과정은 아래와 같다.

728x90
반응형