본문 바로가기
반응형

개발 Tools92

딥러닝 CNN의 모든 것이었으면 좋겠다 ( channel, strid, padding, pooling, Convolution ) CNN ( Convolution Neural Networks )은 입력이 이미지라는 전제로부터 시작한다. CNN은 DNN의 문제로부터 나왔다. DNN은 입력을 1차원으로 flatten 시켜서 입력으로 주어지는데 이때 이미지가 가지고 있던 여러 정보들이 손실된다. 또한 학습 시간이 길기도 하다. 그렇다면 CNN은 어떻게 동작할까?? 실제로 우리 인간은 어떤 걸 볼 때, 특징을 뽑아내서 어떤 물체인지 판단한다고 한다. 이런 개념과 동일하게 이미지를 보고 판단한다. 아래 그림에서 강아지를 분류할 때 꼬리와 발과 머리를 보고 판단하는 것처럼 부분 부분을 뽑아서 본다. 또한 CNN은 이미지의 특징을 추출하는 부분과 클래스를 분류하는 부분으로 나눌 수 있다. 추출하는 부분은 convolution층과 활성 함수 층과.. 2022. 6. 4.
Quartus || 사용법 ( 쿼터스, 파일 생성, 기존 프로젝트 open, verilog HDL) 기본 파일 생성하는 순서 1. 처음 실행시키면 기본 화면이 뜬다. 2. 여기서 File을 선택해서 New Project Wizard를 선택한다. 3. 아래와 같은 그림일 뜨는데 Next를 누른다. 4. 프로젝트명을 적어주는데 이때 top-level 이름과 동일하게 적어줘야한다. 근데 자동으로 동일하게 적힌다. 5. 아래 두 화면은 아무것도 안 누르고 Next를 누른다. 6. Simulation의 Format은 내가 사용할 언어를 지정한다. 본인은 Verliog HDL을 선택했다. 7. Finish를 누르면 내가 적어준 프로젝트가 생성된다. 9. 다음으로 내 test_1 프로젝트에서 또 File을 눌러서 이번엔 New를 누른다. 10. 그러면 아래와 같은 창이 뜨는데 이때 어떤 파일을 만들건지 물어보는데 .. 2022. 5. 25.
딥러닝 DNN, ANN의 모든 것이었으면 좋겠다 ( back propagation, error ) 어떻게 생겨먹은 놈인지 알아보자 퍼셉트론의 기본적인 모양은 다음과 같다. (모르겠으면 일단 넘어가면 된다) 입력을 받고 Weight를 입력과 곱해준 후 다 더해서 활성 함수에 넣고 출력을 낸다. 이렇게 하나만 있을 땐, 선형 분류와 유사하다. 간단하지 않은가? 위와 같은 perceptron이 여러 개가 쌓여서 만들어진 게 ANN이다. 또 이런 층이 겁나게 많으면 DNN이 된다. ANN은 어떤 문제를 해결할 수 있을까?? 기존에 선형 모델로는 해결할 수 없는 문제를 보자. 아래 그림을 보면 선형 모델로는 분류할 수 없는 문제가 있다. 분류 성능은 75%가 최대다. 이 문제를 ANN을 이용하여 해결해보자. 빨간색 perceptron을 보면 마치 AND Gate와 같은 동작을 한다. 파란색 perceptron.. 2022. 5. 19.
딥러닝 Softmax function (소프트 맥스) Softmax function - 이진 분류가 아닌 모든 output의 확률의 합이 1이 되도록 하고 싶다는 생각에서 나왔다. 달리 말하면 sigmoid는 하나의 클래스가 속할 확률에 대해 나타냈다면 softmax는 전체 클래스에 대해 속할 확률을 나타냈다. 만약 분류될 클래스가 k 개라고 할 때, k차원의 벡터를 입력받아 각각 클래스(output)에 속할 확률을 추정하는 것이다. 식을 보면 아래와 같다. 간단히 보면 j번째일 확률 / 전체 확률로 나타낼 수 있다. 그렇다면 h는 무엇일까?? 활성 함수를 통과하기 전에 값이다. 근데 가만 보면 그냥 h들의 조합으로 확률을 나타내도 똑같이 확률로 나오는데 굳이 e를 붙인 이유는 뭘까?? 먼저, 값이 두드러진다. 그리고 무엇보다 h가 원래 어떻게 생겼는지 보.. 2022. 5. 19.
딥러닝을 위한 기초 개념 Gradient decent Gradient decent 최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다. Gradient decent는 cross entropy 같은 방법으로 에러를 측정한 뒤에 W를 업데이트하여 에러를 줄이는 방법으로 사용된다. 초기값을 잘 잡아야 한다. 이차함수(convx) 라면 시작이 어디든 최솟값을 찾아갈 수 있다 하지만 경사 하강법은 초기값이 어디냐에 따라 달라진다. 어떻게 찾아가는지 알아보자. 이때 점점 이동해야 하는데 어느 방향으로 갈지, 얼마나 갈지를 정해야 한다. 아래 수식이 Gradient decent라고 보면 된다. 얼마나 가야 할지는 내가 정한다. 하이퍼 파라미터( n )라고 부른다. 어느 방향으로.. 2022. 5. 12.