본문 바로가기
개발 Tools/파이썬_Deep learning & ML

딥러닝 신경망 기본 (신경망, 랭크, 다층 퍼셉트론, 활성화 함수, 역전파)

by 전컴반 2021. 10. 16.
반응형
신경망

 

신경망 모델은 네트워크라고도 부르며 우리 뇌를 구성하는 뉴런이라는 신경을 모방하여 만들었다. 기본적으로 입력 신호 벡터에 어떤 가중치를 곱하거나 더하거나 비선형 처리를 하여 유용한 정보를 추출해주는 모델이다. 

 

 

신경망은 입력 데이터에 가중치를 곱하여 중간 출력을 만들고 또 다음 중간 출력을 다시 가중치를 곱하여는 구조를 반복한다. 이런 반복의 마지막층을 출력 계층이라 부른다. 모든 망들이 다 연결돼 있기 때문에 전 결합 망이라고 부른다

 

계층별 연산은 Y = WX +b의 수식을 따르는데 W는 가중치고 X는 벡터로 들어간다. b는 스칼라 값인 편이(bias)이다. 이를 텐서라고 부른다. 이 텐서에서의 차원을 랭크라고 부른다. 랭크는 아래에서 예를 들어보겠다. 

 

랭크

 

만약 입력 신호가 200장의 컬러 이미지고, 각 이미지는 (244,244) 크기의 픽셀로 구성돼 있고 픽셀이 3 원색으로 구성돼 있다면 모양은 (200, 244, 244, 3)이고 랭크는 4가 된다. (입력의 수(행의 수), 입력의 구조(shape) , 입력의 구조(shape), feature의 수) 이런 구조로 나타낸다. 

 

다층 퍼셉트론

 

신경망은 선형 회귀 모델에서 발전하여 비선형 기능이 추가됐다. 이때 활성 함수라는 층이 하나 더 들어갔는데. 이 활성 함수는 신호를 그대로 전달하지 않고 과거 상태를 기억하는 능력이 있다. 아래서 좀 더 자세히 살펴보자

 

 

활성화 함수

 

활성화 함수는 비선형 함수이다. 이 말은 맞고 틀리고를 인지한다는 말이다. 일정 수준 이상이면 맞고 아니면 틀렸다고 판단하는 것이다. 활성화 함수는 여러 가지가 있는데 크게 3가지로 보자.

 

 

역전파

 

신경망은 예전에 나왔지만 실현하지 못했던 이유는 경사 하강법을 여러 개층을 통해 구현하지 못했기 때문이다. 하지만 활성 함수와 덧셈과 곱셈을 이용하면 경사 하강법을 계산할 수 있다는 걸 알게 됐다. 이처럼 경사 하강법을 역전파로 구현할 수 있게 됐다. 

예를 들어보겠다. z = xy라는 식이고 상류에서 1.3이라는 값이 나왔다면 우린 편미분을 이용한다. x에는 들어온 상류의 값에 z를 x에 대해 편미분 한 값을 곱해준다. 이때는 xy의 곱으로 이루어져 있기에 y가 곱해진다. y에도 마찬가지로 상류의 값에 z를 y에 대해 편미분 한 값을 곱해준 값을 연전파로 보내는 것이다. 

 

반응형

댓글