본문 바로가기

Computer Science/AL, ML 58

[CNN] 다양한 CNN 다양한 CNN Practical하게 유용한 결과를 낳는 CNN 모델들이 있다. LeNet-5 : 요즘과 비슷한 구조 AlexNet : 처음으로 CNN을 이용하여 winner가 됨 ZFNet : AlexNet의 응용 VGG : 10 layer를 넘김 GoogleNet : inception module → 다양한 filter를 사용 ResNet : rasidual connection을 이용하여 네트워크를 깊게 만듦 DenseNet LeNet-5 (1998) 0~9까지의 숫자 이미지가 들어오면 맞추는 multi-lable classification의 기능을 수행한다. 전체적인 구조는 CONV + FC로 요즘 사용하는 것과 유사하다. 다만 batch normalization이나 ReLU 등의 테크닉들은 사용되지.. 2022. 6. 15.
[CNN] Pooling Pooling Convolution network에는 주로 pooling layer가 포함된다. Pooling은 정해진 window에서 특정 행위를 하는 layer이다. Activation map을 재가공하는 역할을 한다. 종류 max pooling 가정 : 가장 큰 값이 중요한 역할을 한다. 기능 : window 내에서 max 값을 뽑아서 사용한다. average pooling 가정 : 평균(통계)이 중요하다고 본다. 기능 : window 내의 평균을 구해서 사용한다. Max Pooling vs Average Pooling Max pooling과 average pooling은 가정이 다르기 때문에 문제마다 어떤 것이 좋을지는 다르다. 일반적으로 max pooling이 좀 더 선호되고 끝단으로 갈수록 a.. 2022. 6. 7.
[CNN] CNN의 구조와 Notation CNN의 구조 CNN은 크게 3가지 종류의 layer로 구성된다. CONV : Convolution POOL : Pooling FC : Fully connected = dense layer = 퍼셉트론 레이어 CNN의 Notation Input과 filter의 channel은 동일해야 한다. Output의 channel은 filter의 수(unit의 수)에 의해 결정된다. 한 레이어에서의 파라미터 수 한 레이어에서의 파라미터 수 = # of weight + # of bias 3*3*3 필터가 10개 있을 경우 한 레이어에서의 파라미터 수는 (3*3*3) * 10 + 10 이 된다. (3*3*3) → filter * 10 → unit 수 + 10 → bias 수 2022. 6. 6.
[CNN] Local Connectivity & Weight Sharing CNN의 주요 특징 : Local Connectivity, Weight Sharing Connectivity와 parameter sharing을 통해 파라미터의 수를 굉장히 줄일 수 있다. 따라서 같은 수의 파라미터를 사용함에도 더 깊은 네트워크를 구성할 수 있다. 더 깊은 네트워크의 구성은 더 많은 non-linear을 만날 수 있음을 의미한다. 이를 통해 더 복잡한 기능을 구현할 수 있다. CNN을 사용하는 주된 이유이기도 하다. Local Connectivity 모든 데이터에 대해 input으로 받아들이지 않고 인접한 데이터에 대해서만 input으로 받아들인다. 이를 통해 각 output은 모든 input을 고려하지 않고 적은 수의 input에 의해서만 결정될 수 있다. 아래 상황에서 global .. 2022. 6. 6.
CNN (Convolution Neural Network) CNN (Convolutional Neural Networks) = ConvNet, DCN(Deep Convolution Network) 큰 이미지를 다루기 위해서는 더 큰 input을 다뤄야 하고 더 큰 모델이 필요하다. CNN을 이용하면 더 큰 input을 다룰 수 있다. 주로 후반부에는 DNN과 결합하여 사용한다. CNN vs. DNN operation DNN : linear operation + non-linear operation CNN : convolution + non-linear operation task DNN : loss를 제일 낮추는 weight + bias를 학습 CNN : loss를 제일 낮추는 filter 학습 input size DNN : 일반적인 linear transform.. 2022. 6. 6.