AI/밑바닥부터 시작하는 딥러닝

[밑바닥부터 시작하는 딥러닝] 신경망이란? (What is neural network?)

슈퍼짱짱 2019. 9. 14. 08:00
반응형

지난 포스팅에서는 신경망의 근간이 되는 퍼셉트론에 대해 알아보았다.


>> 퍼셉트론이란? 바로가기

>> 퍼셉트론으로 논리회로 구현하기 바로가기

>> 퍼셉트론의 한계 바로가기

>> 퍼셉트론으로 XOR 게이트 구현하기 바로가기


이번에는 신경망에 대해 알아보겠다.




신경망이란? What is neural network?


앞서 리뷰했던 퍼셉트론(perceptron)과 신경망(neural network)은 매우 비슷하다. 그러나 다른점은 퍼셉트론은 가중치(w, b)를 수동적으로 지정해줘야하지만, 신경망은 스스로 학습하여 그 값을 찾아낼 수 있다는 점이다.


신경망의 구조는 다음과 같다.


 


가장 왼쪽 노드들을 입력층(input layer), 가장 오른쪽 노드들을 출력층(output layer), 중간 노드들을 은닉층(hidden layer)이라 한다. hidden layer는 말 그대로 눈에 보이지 않고 숨겨져 있기 때문에 "hidden" 인 것이다.


* 이 모델의 이름이 "신경망"인 이유는 모델의 구성이 실제 생물학에서의 "신경망"을 본뜬 구성이기 때문이다.

다음은 "신경 세포(뉴런)"을 검색했을 때 나오는 이미지이다. 




수상돌기를 통해 들어온 입력신호가 축삭을 통해 이동한 다음, 축삭말단에 도달하면 다른 뉴런에 신호를 전달한다.

신경망 모델 역시 input layer를 통해 들어온 신호가 어떠한 계산 과정을 거친 후 다음 layer로 전달된다.

 

* 앞서, 퍼셉트론으로 XOR 게이트를 구현하기 위해 두 퍼셉트론 층을 쌓았었다. 이처럼 hidden layer의 층을 여러겹 쌓아서 복잡한 문제들을 풀 수 있는데 이 hidden layer 층이 "deep" 하게 계속 쌓이는 것에서 "딥러닝" 이라는 이름이 나온 것이다.


앞에 layer에서 다음 layer로 값을 전달 할 때는 활성화 함수를 거쳐 출력된 값을 전달한다. 앞서 퍼셉트론 같은 경우 활성화 함수는 "계단 함수"라 할 수 있다.

다음 포스팅에서 활성화 함수를 알아보도록 하겠다.

반응형