Scientia Conditorium

컴퓨터 비전을 배워보자 002 - 퍼셉트론 본문

인공지능/컴퓨터 비전

컴퓨터 비전을 배워보자 002 - 퍼셉트론

크썸 2023. 2. 5. 02:33

퍼셉트론

 

딥러닝 알고리듬에서 퍼셉트론을 이용한다는 말은 이런 계산식을 이용해 입력으로부터 출력을 구한다는 것을 의미

 

퍼셉트론끼리 서로 영향을 주고받을 수 없기 때문에 단층 퍼셉트론 신경망으로 높은 수준의 문제 해결 능력을 기대하기 어려움

딥러닝에서 퍼셉트론 열을 계층(layer)이라고 부르는데 최종적으로 출력을 생성하는 게층을 출력 계층이라 함

출력 계층 앞에서 입력을 처리하여 그 결과를 출력 계층에 전달하는 계층을 은닉 계층이라고 부름

 

따라서 단층 퍼셉트론은 은닉 계층 없이 출력 계층 하나만으로 구성되는 가장 간단한 신경망 구조

 

인간의 뇌는 1000억 개가 넘는 뉴런으로 구성되어 있음

 

텐서를 엄밀하게 정의하기란 쉽지 않지만, 다차원 숫자 배열 정도로만 이해해도 큰 문제없음

0차원 스칼라,

1차원 벡터,

2차원 행렬

-> 모두 텐서이며, 3차원 이상의 숫자 배열 역시 텐서

 

일반적으로 딥러닝에서는 신경망이 여러 데이터를 한꺼번에 처리하는데 이를 미니배치(minibatch)라고 함

 

입력 성분의 일차식으로 표현되는 이런 계산 과정을 선형 연산

일차식으로 나타낼 수 없는 계산 과정을 비선형 연산

 

입력값이 왼쪽에서 오른쪽으로 층에서 층으로 전달되는 동작을 피드포워드 또는 순전파라고 부

 

학습 과정 중에 끊임없이 변경되어 가면서 퍼셉트론의 동작 특성을 결정하는 값들을 파라미터라고 함

 

 

 

학습 데이터 전체에 대한 한 차례 처리를 에포크(epoch, 에폭, 이폭이라고도 함)

딥러닝에서 에포크 수나 미니배치 크기처럼 학습 과정에서 변경되지 않으면서 신경망 구조나 학습 결과에 영향을 미치는 요인들을 하이퍼 파라미터(hyper parameter)라고 함

하이퍼 파라미터 값은 신경망 설계자가 학습 전에 미리 정해주어야 하는 값

 

일반적으로 뉴런 수가 많을수록 학습 데이터를 더 잘 학습할 수 있다

그러나 뉴런이 너무 많으면 학습 데이터에는 높은 성능을 보이지만, 새로운 데이터에는 정확도가 떨어지는 과적합(overfitting)이 발생한다.

적절한 층수를 결정하려면 작은 규모의 신경망으로 시작해서 성능을 관찰하며 차츰 층을 늘려가는 방법이 좋다

 

 

학습(learn)과 훈련(train)

두 말은 같은 행위를 정반대의 입장에서 보고 표현한 것

딥러닝에서는 데이터를 처리해 신경망 성능을 개선시킴

신경망 입장에서 이 과정은 '데이터를 학습'하는 것이고, 신경망 개발자 입장에서 '신경망을 훈련'시키는 것

 

'인공지능 > 컴퓨터 비전' 카테고리의 다른 글

컴퓨터 비전 배워보자 001 - 개요  (0) 2023.01.26