CNN (Convolutional neural network) 5

ResNet이란?

ResNet이란cnn 기반 모델로써 gradient vanisning 문제 해결 및optimal depth 문제를 해결하기 위해 사용됩니다. 각각의 문제 상황을 먼저 알아봅시다.gradient vanishing gradient 계산을 위해 layer를 걸쳐 chain rule 계산을아래와 같이 쭉 이어 나가다 보면  0과 1 사이의 값으로 mapping 해주는 활성화 함수(sigmoid) 특성상 그 곱이 0에 가까워져 update가 일어나지 않는 문제가 발생합니다. 물론 relu 활성화 함수로 이것을 어느정도 방지할 수는 있었지만layer 자체가 과도하게 깊어진다면 vanishing 문제를 본질적으로 해결할 수 없습니다.optimal depth문제변수마다 optimal depth가 다를 수 있습니다. 가..

GoogLeNet(Inception-v1)이란?

cnn 모델을 기반으로 하여 성능 개선을 위해서 여러 가지를 발전시킨 모델입니다. (cnn이란?)2024.11.19 - [CNN (Convolutional neural network)] - CNN (Convolutional neural network) 이란? (1)2024.11.28 - [CNN (Convolutional neural network)] - CNN (Convolutional neural network) (stride, padding ,pooling)기존 cnn 대비, GoogLeNet의 특징을 아래와 같이 정리할 수 있습니다. 1.vanishing gradeint 해결을 위한 Auxiliary classifier 사용2.filter의 병렬적 사용 및 1x1 filter 사용3.Factori..

CNN의 channal 및 역전파(backpropagation)

CNN에서는 이전 layer에서 계산된 Feature Map에필터를 적용하여 다음 Feature Map을 생성합니다. 이 과정에서 이전 layer의 Feature Map의 채널 개수와 필터 개수에 따라새로운 Feature Map의 채널 개수가 결정됩니다. 이러한 채널개수에 대한 이해와 더불어최종적으로 역전파 계산이 어떻게 이루어지는지 이해하는 것을 목표로 합니다. 아래와 같이 Feature map의 채널이 3개 있고필터의 개수가 5개 있다고 해봅시다. 결과부터 말하면 convolution 연산 결과로 다음 feature map의 채널 개수는필터 개수인 5개 만큼 생성되게 됩니다.  어떤식으로 연산이 이루어지는지 살펴봅시다. 하나의 필터를 feature map에 convolution 연산 할 때에featu..

CNN (Convolutional neural network) (stride, padding ,pooling)

CNN에서 stride,paddig,pooling이 무엇이며 각각 왜 필요한지 정리합니다. 앞서 cnn에서는 필터의 개수를 많이 할수록 이미지 데이터에서 관측하고자 하는 특징이 많아져성능이 개선된다고 하였습니다. 2024.11.19 - [데이터 마이닝] - CNN (Convolutional neural network) 이란? (1) CNN (Convolutional neural network) 이란? (1)cnn이란?CNN(Convolutional Neural Network)이란,이미지나 영상 데이터를 처리하고 분석하는 데 주로 사용되는인공 신경망의 한 종류입니다. 왜 출현하게 됐는지 정확하게 cnn으로 하고자 하는 게 무엇인tmddn0512.tistory.com 그런데 필터의 개수가 많아질수록 conv..

CNN (Convolutional neural network) 이란? (1)

cnn이란?CNN(Convolutional Neural Network)이란,이미지나 영상 데이터를 처리하고 분석하는 데 주로 사용되는인공 신경망의 한 종류입니다. 왜 출현하게 됐는지 정확하게 cnn으로 하고자 하는 게 무엇인지 살펴봅니다. 만약 아래와 같은 이미지 데이터가 존재한다고 할 때기존의 mlp에서는 어떻게 이미지 데이터를 학습했었는지 살펴보면 각각의 픽셀별로 이미지 데이터를 분할하여(w) 파라미터를 전부 곱하고 더해 학습했었습니다. 즉 2차원의 데이터를 픽셀 단위로 분할하여 데이터를 flatten 하여 입력했었습니다. 그런데 이게 시각적 정보를 처리하는데 비효율적입니다. '6'이라는 시각적 정보를 전혀 활용하지 않고 잘게 분할하여 학습을 시키는 거와 같습니다. 위에서 볼 수 있듯이 2차원에서 시..