본문 바로가기

딥러닝4

[인공 신경망] 입력변수, 출력변수 딥러닝에서도 머신러닝과 마찬가지로 입력변수와 목표변수가 존재한다. MNIST의 경우에도 당연히 입력변수(사진)와 목표변수(숫자값)이 있었다. 하지만 앞서 말했듯이, 컴퓨터는 입력변수 사진을 못받기 때문에, 각 픽셀의 모든 값을 입력변수로 받는다. 하단 그림의 예시를 보자. 이런식으로 숫자그림(입력변수)의 픽셀 하나하나가 활용되는 것이다. 그리고 목표변수를 통해 숫자의 값을 학습을 시키는 것이다. 이렇게 무수히 많은 입력변수들을 받는 것이고, 하나의 입력변수는 픽셀 값을 벡터 행렬로 받는다. 입력변수는 일반적 x를 활용하기 때문에 공식으로 표현하면 다음과 같다. i번째 입력변수의 j번째 픽셀. 그림에서 1번(i)째 입력변수는 5이며, 2번(j)째 픽셀값은 0.3 인 것이다. 입력변수의 값은 행렬로 표현하며.. 2023. 11. 26.
[인공 신경망] 층, 뉴런, 가중치 인공 신경망을 조금더 살펴보자. 입력층, 은닉층, 출력층 전체의 구조는 파악했다면, 층과 뉴런을 살펴보겠다. 입력층은 0번째 층으로 총 층수에서는 세지 않는다. 위의 그림의 경우 3개의 층으로 이루어져 있다고 한다. 다음으로 X0으로 표현했던 인풋을 제외하고, 레이어의 뉴런은 사실 activation의 앞글자인 'a'를 활용해서 표현한다. 위 첨자에는 몇 번째 층인지, 아래는 몇번째인지 나타낸다. 다음은 가중치의 표현이다. 가중치는 뉴런과 뉴런 사이에 위치하기 때문에 어떻게 표현해야할지 약간 애매한 부분이 있다. 하지만 가중치는 뒤 뉴런을 기준으로 표현할 수 있다. 이렇게 첫번째 뉴런으로 연결된 가중치를 w[1], 두번째 뉴런으로 연결된 가중치는 w[2]로 표현한다. 그렇다면 각각의 가중치는 어떻게 표현.. 2023. 11. 23.
[인공 신경망] 딥러닝의 구조와 신경계 앞서 MNIST를 통해서 컴퓨터가 어떻게 이미지를 처리하는 지 학습했다. 정리하자면 컴퓨터는 사진을 input으로 받아서, 각각의 픽셀별로 가중치를 받아서 계산을 하고 이게 무엇인지 판단을 하는 것이다. 즉, 이미지여도 값으로 변환해서 복잡한 계산을 통해서 결과(output)를 만들어 내는 것이다. 이 구조를 생각해보면, 인간의 신경계와 유사한 것을 확인할 수 있다. 어떤 자극이 오면(input) 이를 처리해서 결과를 다음으로 넘겨주는 과정이 딥러닝의 과정과 매우 유사하다는 것이다. MNIST에서 보았던 input값에 대한 데이터 처리에서 보면 사진(input)의 픽셀을 하나씩 가중치를 부여해서(처리) 결과(판단)를 만들었다. 이 과정을 다시한번 공식으로 재구성을 해보겠다. 앞서 본 그림과 동일하지만, .. 2023. 11. 21.
[MNIST] 이미지와 컴퓨터 딥러닝에 대한 정리를 시작해보려한다. 딥러닝에 관심을 갖게 된 계기는 이미지처리였고, 궁극적으로 내가 관심있는 자율주행과 관련해서 프로젝트를 해보고 싶어서 공부를 하게되었다. 하지만 알다시피 복잡한 수식과 수학이 있어서 한번에 와닿지는 못하고 여러번 강의도 듣고 책을 정리하면서 이해할 수 있었다. 최종적으로 자율주행 이미지처리를 위해서 한단계씩 내용을 정리할 예정이다. 먼저 MNIST부터 정리할 예정이다. MNIST는 손으로 쓴 숫자들로 이루어진 대형 데이터이며, 딥러닝 분야(이미지처리)에서 첫 실습으로 많이 사용된다. 여기서 중요한 내용은 숫자 그 자체가 아닌, 컴퓨터가 이미지를 인식하는 방법이다. 컴퓨터는 어떻게 이미지를 처리할까? 아쉽게도 사람처럼 이건 5다! 를 직관적으로 이해하지 못한다. 그래서.. 2023. 11. 20.