SonJJU

이 포스팅은 Coursera의 Machine Learning-Andrew Ng의 강의를 간단하게 정리한 것입니다.

필자가 공부를 더 하는 대로 업데이트됩니다.


인공 신경망(Artificial Neural Network), 알파고가 이세돌으로부터 완승을 거두면서 인공 신경망을 비롯한 딥 러닝(Deep Learning)은 화제가 되었다. 딥 러닝의 이름을 달고 나오니 새로 나온 이론 같아 보이지만 사실 몇 십년 전부터 사용되어 온 알고리즘이다. 인공 신경망은 80~90년대에 활발히 쓰이다 어떤 이유에선지 잠잠해졌었고 요즈음 데이터 사이언스와 머신 러닝 기술이 발달하면서 다시 급부상한 알고리즘이다.


인공 신경망

인공 신경망은 단순히 인강의 신경을 모방한 알고리즘이라 인공 신경망이라고 불린다. 물론 인간의 뉴런과 똑같지는 않지만 그 작동 메커니즘이 비슷하여 붙여진 이름. 

그럼 왜 인간의 뉴런을 모방하였을까? 신경 생물학이 발전하면서 인간의 뇌는 부분마다 고유의 기능 가지고 있다는 걸 알아냈고 조작을 통해 어떤 기능을 담당하는 뇌의 부분은 다른 기능을 학습할 수 있다는 걸 발견했다. 인간의 뇌, 즉 뉴런은 학습을 한다는 것이다. 

뉴런을 모방한 인공 신경망의 모습을 보자.

Mahcine Learning - Andrew Ng

  • 이 그림에서 노드(원)들은 뉴런을 모방한 것이다. 이 각 노드들에서 학습이 이루어지며 각 Layer는 각 과정마다 일어난 값의 집합이다.
  • x1,x2,x3는 Input이며 인공 신경망 과정이 시작되는 Layer 1을 Inpute Layer라고도 한다.
  • Layer 2는 학습이 이루어지는 과정이기에 실제로 볼 수 없는 과정이라 하여 Hidden Layer라고 불리며 Hidden Layer는 여러 개가 될 수 있다.
  • Layer 3 는 결과가 나오며 Output Layer라고 불린다.
인공 신경망은 Feature의 갯수가 많은 곳에 주로 쓰인다. 실제 데이터에서는 feature의 갯수가 상당히 많을 때가 많으므로 Logistic regression을 사용하는 것은 불가능할 때에 좋은 효과를 낸다.
  • 대표적인 예로 이미지를 다룰 때 100x100 픽셀인 이미지만 해도 feature가 10000을 넘어간다.

과정

인공 신경망의 여러 모델 중 하나로 Forward Propagation 모델을 본다. 앞으로 진행한다는 뜻의 모델.

각 노드는 Logistic Unit이라하여 각 노드마다 Logistic function을 수행한다.

그림과 같은 과정이 이루어져 각 노드의 output이 나온다.

  • 에서 (2)는 Layer2를 의미하며  1은 Layer2에서의 첫 번째 유닛을 의미한다.
  • 그림에서 
  • 이라는 새로운 값이 나오는데 이는 biased node라고 불리며 logistic regression에서 1 대신 X0을 넣는 것과 같다.
  • 는 Layer j 에서 Layer j+1으로 갈 때에 weights controlling function이다. 가중치를 주는 function이다.


저작자 표시 비영리 변경 금지
신고
DISQUS 로드 중…
댓글 로드 중…

블로그 정보

SonJJU - 손주형

Data Scientist, SonJJU

최근에 게시된 글

티스토리 툴바