convoutional network
고양이 실험에서 착안
뉴런이 작용하는 거 각각 담당하는게 있어 보임
각 이미지를 레이어 만들어냄 relu pool 을 계속 겹쳐 만듬
한 레이어로부터 단계적으로 어떻게 일어나는지 이야기해보도록 하겠음
이미ㅈ를 우선 이렇게 벽이 만들어짐
고양이 실현에서 우선 이미지 한 부분을 처리하려고 한다.
이 작은 블락을 필터라고 한다. 필터 크기는 우리가 정의할 수 있다. 현재는 5*5
저 빨간 블락은 궁극적으로 한 값을 만들어낸다.
한개의 값으로
어떻게 만들어낼 수 있는가?
우리가 예전부터 사용했던 wx + b를 이용해서 만든다
w가 뭐냐? weight 지
하나의 숫자로 만들어낸다.
relu로 하면 relu한거
똑같은 필터를 가지고 다른 블락도 본다.
같은 값으로 모든 블락을 처리. 그렇게 되면 몇개의 값이 나오는가?
7*7 사이즈의 이미지에서 3 * 3 필터를 뽑아낸다면
한칸씩 옮기기 때문에 stride = 1 한 칸 씩 움직인다는 뜻
그렇게 되면 5번 갈 수 있다.
stride = 2 면 3*3 아웃풋이 나온다.
output size : (N - F ) / stride = 1
7 - 3 / 1 + 1 = 5
stride 3은 할 수 없다.
보통 패딩이라는 개념을 사용한다.
그림이 급격히 작아지는 것을 방지,
pad with 1 pixel border ?
9*9 크기가 되므로 대입해보면 7 * 7 이 된다.
패딩을 해서 출력과 인풋의 사이즈가 같게 만듬 보통
필터를 다른 필터를 만들어서 하나더 만들어낸다.
이것을 6개를 적용해서 만듬
convolution layer에 적용하면 (? ? 6)이 된다.
10개의 두께가 된다.
이 weight varaible 개수는?
5 * 5 * 3?
랜덤하게 적용한다. 처음에는 그리고 학습
========================================
아까 차 이미지 해석할 때 relu pool 있었다.
pooling layer(sampling)
한 레이어만 뽑아낸다. 이걸
resize (sampling) 사이즈가 작아진다.
그리고 이걸 또 쌓는다.
예를 들어보자 max pooling
필터 개념 2*2 다. stride = 2 두칸씩 옮겨져서 본다.
4개가 출력된다.
필터는 보통 max pooling 이라는 가장 큰 값을 Number로 도출
이렇게 처리하는게 풀링
relu 는 conv 아웃풋을 넣으면 되고..
그럼 어떻게 쌓아? 이건 우리가 알아서 하면 된다.
마지막에 pooling 하게 되면
3*3*10 이였으면 이걸 원하는 만큼 일반적인 neuralnetwork softmax 이용해서 구성하면 된다.
이것이 어떻게 동작하는지 이 사이트 가면 알 수 있다.
========================================
이번에는 응용 사례에 대해서 배우자
convolutional network
case study : LeNet -5
lecun 교수님
손글씨를 보면 5*5 stride 1 을 이용
6개의 레이어 28 & 28
subsampling
14 * 14
쭉 가면 굉장히 심플하고 이해하기 쉬운 사례
case study : Alexnet
이미지 경신대회에서 1등 ??
96개 필터 11*11*3 필터 stride 4
55 * 55 * 96 output volume
35k 파라미터
그다음은 풀링 레이어
계속 이어진다
깊고 복잡하지만 하나씩 보면 작동 단계 알 수 있다.
normalization layer 이건 최근들어 잘 사용하지 않는다
최종 값을 4096 출력 만듬 이걸
그리고 마지막에는 1000개 로 만듬
relu를 처음 사용...
7개를 만들고 합쳤다. 한개씩은 18% 오류가 15% 줄였다.
굉장히 사람들을 놀라게 했던.. 그런 사례
case study : google net
inception module
컨보셔널 하고 풀링하고 인셉션 ㅋㅋㅋ
창의적
최강자 사람은 5%가 최저인데 그걸 능가한다.
resnet 152 레이어 ㅋㅋㅋㅋㅋ
옆에 그림 봐
학습 fastforward 개념을 사용했다.
자세히보면 그냥 뛰어넘는다. 깊지 않은 느낌
왜 잘 되는지는 다 이해하지는 못하고 있다.
yoon kim 한국 분 박사님
textd에다가 클래스파이 해봤다.
convolutional nn
알파고 역시 conv 사용했다.
nature 논문
어렵다
5개는 zero pad 23 * 23 이미지. kfilter 5 *5 stride 1 등
오늘 배운 내용 이해할 수 있다.
'머신러닝,딥러닝 > tensorflow' 카테고리의 다른 글
lec12 NN의 꽃 RNN 이야기 (0) | 2021.02.10 |
---|---|
lec11 CNN basics tensorflow (0) | 2021.01.25 |
lec10 xsigmoid 보다 ReLU가 더 좋아 (0) | 2021.01.24 |
lec09 XOR 문제 딥러닝으로 풀기 (0) | 2021.01.24 |
lec08 tensor manipulation(reshape, stack, zip, one_hot ..) (0) | 2021.01.22 |
lec08 deep neural network for everyone (0) | 2021.01.22 |
lec07 learning rate, data preprocessing overfitting (0) | 2021.01.21 |
lec06 multinominal 개념 소개 (0) | 2021.01.21 |