본문 바로가기

AI/[DLBasic]모두의 딥러닝(딥러닝의 기본)21

[DLBasic] 11 - 3. CNN case study 저번 시간까지 CNN의 기본적인 구성 요소를 알아보았다. 이것들을 응용해서 많은 형태를 구성할 수 있다. 가장 처음으로 만들어진 LeCun 교수님의 CNN 모델이다. 5 x 5의 필터를 사용했고 stride는 1이고 총 6개를 사용했다. 6개의 층으로 이루어진 feature map이 나오고 subsampling을 하면서 나아간다. 가장 기본적인 형태이다. 그 다음으로 살펴볼 것은 AlexNET이라는 이미지 경진대회에서 1등을 해서 주목을 많이 받았던 모델이다. 첫번째 layer에서는 color 이미지를 입력받아서 96개의 필터를 사용하고 stride는 4로 해서 output을 얻을 수 있다. 두번째 layer인 pooling layer이다. 3 x 3 필터를 사용하고 stride는 2를 사용했다. 그런 .. 2020. 1. 20.
[DLBasic] 11 - 2. CNN introduction : Max pooling and others 저번 시간에는 간단하게 CNN의 개념을 알아보았다. 이번 시간에는 max pooling 등을 알아보도록 하겠다. 저번 시간에도 살펴보았듯이 CNN에서는 중간중간에 pooling이라는 단계가 있었다. pooling은 간단하게 샘플링이라고 볼 수 있다. 저번 시간에 배웠듯이 한 개의 convolutional layer의 깊이는 몇 개의 필터를 사용하는지에 따라 달라졌었고, 여기에서 한 개의 layer만 뽑아내서 작은 사이즈로 축소하는 것이 pooling layer이다. 위의 예시를 보자. stride 2이므로 2칸씩 이동하고, 2 x 2 필터이므로 2 x 2의 결과가 나올 것이다. 각각의 필터에서 가장 큰 값을 뽑아낸다면 맨 오른쪽과 같은 결과가 나올 것이다. 필터와 stride를 어떻게 정하느냐에 따라 다.. 2020. 1. 20.
[DLBasic] 11 -1 . CNN introduction 저번 시간에 잠깐 소개했었던 Split & Merge 방법을 사용한 Convolutional Neural Network 방법을 소개하겠다. Convolutional Neural Network의 기본 생각은 예전에도 잠깐 소개했던 고양이 실험에서 시작되었다. 입력을 나누어받는 고양이 뇌의 뉴런처럼 따로따로 처리하는 것이다. 하나의 이미지가 있으면 잘라서 각각의 입력으로 넘기고, 이 층을 Convolutional Network라고 한다. 중간에 ReLU 층을 넣고, pooling이나 convolutional layer도 여러 번 중간에 할 수 있다. 처음에 이미지를 입력으로 받고, 위의 예에서는 32 x 32 크기의 RGB를 가지고 있는 그림이라고 하자. 처리하는 단위는 filter라고 하고, 한꺼번에 얼마.. 2020. 1. 20.
[DLBasic] 10 - 4. NN LEGO Play 네트워크를 조립하는 것은 마치 레고와도 같다. 입력이 주어지면 layer을 계속 쌓았다. 직전 결과를 바로 앞에 전달하는 것과 달리 2개 전의 결과를 전달하는 방법도 있고, 이것을 Fast Forward라고 한다. 실제로 error rate가 3% 떨어진다고 한다. 처음에 몇 개의 독립적인 NN으로 구분해서 진행한 다음 모으는 Split 방법도 있고, 처음에는 여러 개로 나눠진 데이터들을 모아서 진행하는 방법도 있다. 이것이 Convolutional Neural Network로 이어진다고 한다. 한 방향으로만 나아가지만 말고 위 그림에서 보듯이 옆으로도 나아갈 수 있고, 경우에 따라서 또다른 입력을 받을 수도 있다. 이 방법이 RNN이다. 어떤 형태이든 NN을 조합해서 만들 수 있다. 2020. 1. 20.