Python Course Review - 05. CNN 학습기법
·
AI SOC COURSE/Python (Keras)
1. AlexNet (Multi GPU, Data Augmentation)AlexNet은 2012년 ImageNet 대회에서 압도적인 성능 향상을 보여준 모델로, CNN이 부활하는 계기가 되었음. * Multi-GPU Training 당시 GPU 메모리 한계로 인해 네트워크를 두 개의 GPU에 병렬 분산해 학습. -> 레이어를 나눠서 각각의 GPU에서 계산하고, 일부 레이어는 동기화함. -> 병렬 컴퓨팅 도입으로 학습 시간 단축.* Data Augmentation 훈련 데이터에 랜덤 크롭, 좌우 반전, 밝기 변화 등의 변형을 추가해 모델이 더 일반화되도록 학습시킴. ->  Overfitting 감소 + 더 다양한 feature 학습 가능2. Sigmoid -> ReLU기존 CNN에서는 Sigmoid, t..
Python Course Review - 04. MNIST CNN (LeNet)
·
AI SOC COURSE/Python (Keras)
1. FCN에서 CNN(LeNet)으로기존 FCN은 입력 이미지를 1차원 벡터로 Flatten 해서 처리했기 때문에, 이미지의 공간적 정보(위치, 구조 등) 를 전혀 활용하지 못했다. 따라서 공간 구조를 보존하면서 특징을 추출할 수 있는 모델, CNN이 등장하게 되었고, 그 대표적인 초기 구조가 바로 LeNet-5이다.2. LeNet의 도입 이유이미지의 공간적 패턴을 활용하기 위함파라미터 수를 줄이기 위한 weight sharing위치에 덜 민감한 특징 추출 (Pooling) Convolution -> Edge, shape, texture와 같은 특징을 자동으로 학습 Pooling -> 불필요한 정보 축소 및 연산량 감소Fully Connected -> 최종 분류3. LeNet 구조 # Input: 1x..
Python Course Review - 03. CNN(Convolutional Neural Network)
·
AI SOC COURSE/Python (Keras)
1. 이미지 데이터를 표현하는 방식: Grayscale, RGB, HSV1) Grayscale* 명도를 나타내는 숫자(0 ~ 255)로 표시장점 연산량이 작고 속도가 빠름머신러닝, 엣지 검출, thresholding 등에 유리CNN(Convolutional Neural Network)에서 전처리 시 자주 사용용도 얼굴 인식, 엣지 검출, 필터링 전 단계저장 공간이 중요할 때 (예: CCTV 영상 저장 등)2)  RGB* Red(0 ~ 255), Green(0 ~ 255), Blue(0 ~ 255)의 3가지 색의 명도로 표시장점현실적인 색상 표현 가능 (우리 눈의 인식 방식에 기반)대부분의 디스플레이, 디지털 카메라, 이미지 파일 포맷이 RGB 기반용도일반 사진/이미지 처리OpenCV, PIL 등의 기본 ..
Python Course Review - 02. Keras를 이용한 Sequential Model 생성
·
AI SOC COURSE/Python (Keras)
Keras를 이용하면  딥러닝의 핵심 요소인 가설(Hypothesis), 손실 함수(Loss Function), 학습(Training) 과정을 매우 간단하고 명확하게 코드로 구현할 수 있다. Keras를 이용해서 간단한 MNIST FCN을 구현해보자.import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltfrom tensorflow.keras.datasets import mnistprint("NumPy Version :{}".format(np.__version__))print("TensorFlow Version :{}".format(tf.__version__))print("Matplotlib Version :{}".format(pl..
Python Course Review - 01. Machine Learning
·
AI SOC COURSE/Python (Keras)
1. Linear Hypothesis import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltif tf.__version__ >= '2.17.0': from tf_keras import optimizerselse: from tensorflow.keras import optimizersprint("NumPy Version :{}".format(np.__version__))print("TensorFlow Version :{}".format(tf.__version__))print("Matplotlib Version :{}".format(plt.matplotlib.__version__))#######################..