본문 바로가기

내맘대로 코딩32

[인공 신경망] 입력변수, 출력변수 딥러닝에서도 머신러닝과 마찬가지로 입력변수와 목표변수가 존재한다. 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.
[ML-01] 문제 개요 및 정의 축구결과 예측모델은 정말 단순한 호기심에서 출발했다. 먼저 나는 축구광이고, 한때 축구 스타트업에서 근무를 했었던 적이 있었다. 그 당시 여러 미팅을 하면서 들었던 체육****의 이야기를 듣고 들었던 생각이 '아, 절대로 망할 수 없는 구조다' 였다. 이윽고 시간이 흘러, 내가 AI를 공부하고, 여러 모델을 학습하면서 스포츠분야에서 내가 직접 AI 모델을 만들고 싶다는 생각을 하게 되었다. '오즈들의 선택은 항상 경제적일까?' '배당을 변동하는 이유는 환급에 있어서 손해를 보지 않으려고?' '과연 오즈들은 절대로 손해를 보지 않는 구조를 만들어 내는가?' 이러한 개인적 호기심에서 출발해서 내가 이 아이디어를 뿌시는(?) 축구결과 예측모델을 만들어보자고 다짐했다. 사실 이 프로젝트를 만들어보면서 정말 비약.. 2023. 11. 19.
[09-1] 트리(Tree)란? 벌써 트리구조까지 왔다. 트리(Tree)구조는 말그래도 트리모양으로 생각하면 된다. 가지치기 된 모양이다. 그림으로 이해해보자. 트리란? 서로 연결된 노드의 계층형 자료구조이며, 부모-자식 관계로 구성되어 있다. 트리를 올바르게 이해하기 위해선 용어들을 이해해야 한다. - 각 노드들이 있고, 노드들을 연결해서 트리를 만든다. - 루트노드(root): 맨 처음(시작) 노드(A) - 리프노드(leaf): 더이상 뻗어나갈 수 없는 노드 - 자식노드(child), 부모노드(parent), 형제노드(sibling): 계층 구조를 확인하며 상대적 개념 - 차수(degree) : 노드가 갖는 자식의 수. 모든 노드가 n개 이하의 트리를 가진 n진 트리라고 정의.(그림은 3진 트리) - 높이(height): 가장 멀리.. 2023. 11. 15.