2023/01/23 4

Colab에서 사전학습된 가중치를 사용 PyTorch에서 AlexNet을 실행해 보자.

컬러 색상의 227X227X3 이미지 입력으로 이루어지는 AlexNet의 아키텍츄어를 살펴보자. MAX POOL 알고리듬에 3X3 커늘에 스트라이딩 값 2를 적용하는 바 이는 오버래핑을 허용하는 알고리듬이다. 전체적으로 크기를 줄여나가는 Convolution 및 pooling 레이어들과 마지막 부분의 Fully Connected Layer 구조로 이루어짐을 알 수 있다. 그밖에 다층의 신경망 적용에 따른 큰 수의 생성 폭발 및 gradient 값의 굽속한 감쇠를 방지하기 위해서 활성화 함수 ReLU를 채택하고 batch normalization 기법에 의해서 컴퓨팅 부담을 최대로 낮춘 후 부족한 데이터를 인위적으로 늘리기 위한 data augmentation 알고리듬을 채택한다. data augmenta..

AlexNet Architecture 요약

본격적인 Image Classification의 시작이랄 수 있는 AlexNet 이후 성능이 비약적으로 개선된 네트워크들이 지속적으로 출현할 수 있었던 요인은 2012년 ILSVRC에서 발표된 AlexNet의 아키텍추어를 대상으로 파라메터 규모를 축소하기 위한 아키텍추어 개선에 크게 힘입은 듯하다. 아키텍츄어 관점에서, AlexNet에서부터 ResNet에 이르는 본격적인 이미지분석 네트워크에서의 아키텍추어는 소수의 CNN 레이어를 사용하는 MNIST 예제에 비해 그 규모 면에서 비교가 되지 않을 정도로 크며 세부 네트워크에서도 다양성이 포함되어 있다. 아래 그림에서처럼 ResNet18 기준으로 작성된 PyTorch 예제코드를 AlexNet으로 수정하여 인식률을 계산 체크해 보기로 한다. 지금 현재 사용되..

Colab에서 CNN을 사용한 CIFAR10 이미지 인식 Keras 코드 작성

MNIST 수기문자 이미지는 텍스트가 아니라 흑백 이미지이다. 일종의 흑백 상형문자로 보고 학습하는 것이다. tensorflow.keras를 사용한 MNIST cnn 알고리듬은 일반적인 컬러 이미지에 대한 학습이 가능하도록 알고리듬을 조금 수정하도록 하자. 참조: Convolutional Neural Network(CNN) https://www.tensorflow.org/tutorials/images/cnn MNIST 수기문자 판독의 경우 Keras 전용 데이터세트를 다운로드하여 사용했듯이 이미지 판독의 경우에도 이와 유사하게 준비된 CIFAR10 데이터 세트를 이용하자. MNIST와는 조금 다르게 10종의 50,000개의 학습용 이미지와 검증 테스트용 10,000개 컬러 이미지로 구성된다. MNIST ..