본문 바로가기
딥러닝

[인공 신경망] 입력변수, 출력변수

by 너티드코오딩 2023. 11. 26.

 

딥러닝에서도 머신러닝과 마찬가지로 입력변수와 목표변수가 존재한다.

MNIST의 경우에도 당연히 입력변수(사진)와 목표변수(숫자값)이 있었다.

 

하지만 앞서 말했듯이, 컴퓨터는 입력변수 사진을 못받기 때문에, 각 픽셀의 모든 값을 입력변수로 받는다.

하단 그림의 예시를 보자.

 

이런식으로 숫자그림(입력변수)의 픽셀 하나하나가 활용되는 것이다. 그리고 목표변수를 통해 숫자의 값을 학습을 시키는 것이다.

이렇게 무수히 많은 입력변수들을 받는 것이고, 하나의 입력변수는 픽셀 값을 벡터 행렬로 받는다.

입력변수는 일반적 x를 활용하기 때문에 공식으로 표현하면 다음과 같다.

i번째 입력변수의 j번째 픽셀.

 

그림에서 1번(i)째 입력변수는 5이며, 2번(j)째 픽셀값은 0.3 인 것이다.

입력변수의 값은 행렬로 표현하며 다음과 같다.

1번 (i) 째 5의 값은 이처럼 행렬로 확인이 가능하다.

 

그렇다면 종속변수는 어떻게 표현할 수 있을까?

입력변수와 똑같다! 하지만 j번째가 무엇이지? 그냥 5, 7 아닌가?

 

우리는 해당 사진의 5와 7은 각각 다른 걸 표현하고 있다고 알고 있다. 5가 7보다 작으니까 안좋은 것인가? 가중치가 달라지나? 전혀 아니다.

5는 5고, 7은 7이다. 하지만 컴퓨터는 그렇지 않다. 5와 7 사이의 어떤 대소 차이가 있는지, 특징이 있는지 탐색한다.

그래서 이를 방지하고자 인코딩을 진행하며, 대표적으로 원-핫(one-hot)인코딩이나, 라벨 인코딩을 활용한다.

그래서 i번째, j번째로 표현할 수 있게 된다. 먼저 공식으로 표현해보자.

i번째 목표변수의 j번째 픽셀.

목표변수 '5'를 표현해보겠다. (원핫 인코딩을 활용)

이렇게 표현이 가능하다.(5이기 때문에 5의 위치에서 1)

 

정리하자면, 입력변수는 개수에 따라 무수히 많은 넘파이의 배열로 확인이 가능하다.

목표변수는 비교적 간단한 배열로 확인이 가능하다.

'딥러닝' 카테고리의 다른 글

[인공 신경망] 층, 뉴런, 가중치  (0) 2023.11.23
[인공 신경망] 딥러닝의 구조와 신경계  (0) 2023.11.21
[MNIST] 이미지와 컴퓨터  (1) 2023.11.20