
CNN - Fashion MNIST 예측 모델 구현하기
2022. 3. 2. 17:29
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 전처리 학습 데이터, 테스트 데이터 분리 scaling 및 형 변환 원핫 인코딩 학습, 검증 데이터 분리 학습, 검증, 테스트 데이터 셋 생성 모델링 모델 생성 모델 학습 모델 성능 평가 전처리 from tensorflow.keras.datasets import fashion_mnist import numpy as np from tensorflow.keras.utils import to_categorical from sklearn.model_selection import train_test_split 학습 데이터, 테스트 데이터 분리 # 전체 6만개 데이터 중, 5만개는 학습 데이터용, 1만개는 테스트 데이터용으로 분리..

CNN - Conv2D 와 Pooling 적용 실습
2022. 2. 18. 19:00
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Keras에서 Conv2D와 Pooling의 적용 Conv2D 적용하기 Pooling 적용하기 CNN 모델 생성하기 Fully Connected Layer와 연결 Keras에서 Conv2D와 Pooling의 적용 Conv2D() 를 모델에 적용 시에는 반드시 입력은 배치 크기를 제외하고 3차원이 되어야 한다.(즉., 배치를 포함하면 4차원) 1개의 Filter는 무조건 3차원이다. 따라서 32개의 커널을 만들어 주세요 라는 의미로 쓰인게 아니다. 그냥 Filter의 개수가 32개라는 것이다. Filter 에는 커널이 하나 들어가 있다. 입력으로 들어오는 채널의 차원 (28, 28, 1) 과 자동적으로 맞아야 한다. 안 ..

CNN - Stride, Padding, Pooling
2022. 2. 15. 17:04
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Stride : Sliding window가 이동하는 간격 Padding : 모서리에 0값을 채워 원본 Feature Map의 크기를 유지시키는 방법 Pooling : Feature Map의 일정 영역별로 하나의 값을 추출하여 Feature Map의 크기를 줄이는 방법 Stride와 Pooling의 비교 Stride stride는 입력 데이터(원본 image 또는 입력 feature map)에 Conv Filter를 적용할 때 Sliding Window가 이동하는 간격을 의미한다. stride는 입력 데이터(원본 image또는 입력 feature map)에 Conv Filter를 적용할 때 Sliding Window가 ..

CNN - Kernel & Feature map
2022. 2. 15. 16:44
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Filter와 Kernel의 구분 Kernel size 특징 Kernel size와 Receptive field Feature Map CNN에서 Filter 값의 결정 Filter와 Kernel의 구분 CNN에서 Filter와 Kernel은 거의 혼용되어서 사용된다. 하지만 명확히 구분하자면 필터는 여러개의 Kernel로 구성되어 있으며 개별 Kernel은 필터내에서 서로 다른 값을 가질 수 있다. kernel의 개수가 바로 channel의 개수이다. Conv2D(filter=32, kernel_size=3)(input_tensor) : 3x3 인 정방행렬을 가지는 필터 32개를 input_tensor에 적용하겠다. K..

CNN - Convolution 연산의 이해
2022. 2. 15. 15:54
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 일반 Dense Layer에서 Image Classification시 주요 문제 이미지의 크기가 커질수록 너무 많은 weight가 필요 Feature Extraction 기반의 Image Classification 메커니즘 ML과 DL의 차이 Deep Learning CNN 구조 CNN Classification Network 구조 이미지 필터 이미지 필터링 적용 예 이미지 배열에 Convolution 연산 적용하기 일반 Dense Layer에서 Image Classification시 주요 문제 대상이 전체 이미지 상에서 고정적이지 않고 가변적으로 존재한다. 또한 0이 아닌 유형인 피쳐들이 들어가 있다. (ex. 벽, ..

CNN - Callback
2022. 2. 14. 21:11
🖼 Computer Vision/CNN
목차 Callback 개요 ModelCheckpoint ReduceLROnPlateau : Loss가 줄지 않거나 성능이 향상되지 않을 때, Learning rate를 바꿈 EarlyStopping : 성능이 변하지 않을 때 멈춤 보통은 세개를 한꺼번에 다 쓴다. Callback 개요 함수를 호출하는 것보다는 등록을 한다. 그러면 Callback 함수는 루프를 돌 때마다 특정한 이벤트가 발생할 때마다 등록된 Callback을 호출하게 된다. Roop시에 중간중간 함수가 돌아갈 수 있게끔 하는 프레임워크이다. ModelCheckpoint ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_onl..

Fashion_mnist 예측 모델 구현하기
2022. 1. 27. 18:45
🖼 Computer Vision/CNN
Fashion_mnist 데이터를 분류하는 예측 모델을 구현해보자. 목차 Fashion MNIST data 가져오기 Fashion MNIST image 시각화 데이터 전처리 수행 Dense Layer를 기반으로 모델 생성 모델의 Loss와 Optimizer 설정 및 학습 테스트 데이터를 기반으로 Label 값 예측 Fashion MNIST data 가져오기 import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) from tensorflow.keras.datasets import fashion_mnist # 전체 6만개 데이터 중, 5만개는 학습 데이터용, 1만개는 테스트..

CNN - Functional API
2022. 1. 21. 11:59
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Sequential Model Sequential Model vs Functional API Functional API Functional API의 개요 연속적으로 이어지는 Function의 예 Functional API의 필요성 Keras Functional API 적용 Keras Functional API 사용 예 Sequential Model # Sequential Model을 이용하여 Keras 모델 생성 from tensorflow.keras.layers import Dense, Flatten from tensorflow.keras.models import Sequential INPUT_SIZE = 28 mod..

CNN - Image Array
2022. 1. 20. 17:58
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. Array(Tensor)의 차원 ▪ 1차원: iris 샘플 하나 ▪ 2차원: iris 샘플 여러 개, 명암 영상 한 장 ▪ 3차원: 명암 영상 여러 장, 컬러 영상 한 장 ▪ 4차원: 컬러 영상 여러 장, 컬러 동영상 하나 ▪ 5차원: 컬러 동영상 여러 개 Image 색상 모델 (Grayscale, RGB) Grayscale 개별 픽셀 하나가 Gray 값으로 표현된다. 하얀색이면 0, 검정색이면 255. Height × Width 형태의 2차원 배열로 표현이 된다. RGB R채널, G채널, B채널의 세가지 채널이 있다. Grayscale Image 배열과 픽셀 값 픽셀값을 2차원 형태로 표현할 수 있다. RGB Image 배..

CNN - Training Epoch, Batch Size, Learning Rate
2022. 1. 20. 16:58
🖼 Computer Vision/CNN
목차 Training Epoch Batch Size와 Iteration Learning Rate 머신러닝 모델이 적합한 결과를 내기 위해서는 여러번의 최적화 과정을 거친다. 다루어야 할 데이터가 많기도 하고, 메모리가 부족하기도 하기 때문에 한번의 계산으로 최적화된 값을 찾는 것은 어렵다. 따라서 최적화(optimization)를 할 때는 일반적으로 여러번의 학습과정을 거친다. 또한, 한번의 학습 과정도 사용하는 데이터를 세분화하여 진행한다. 이때 Training Epoch, Batch Size, Iteration 그리고 Learning Rate라는 개념이 필요하다. Training Epoch 한번의 epoch은 인공신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을..

CNN - Optimizer
2022. 1. 20. 16:51
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Optimizer : Gradient Descent를 최적화 해주는 것 Optimizer의 메커니즘 주요 Optimizer Momentum : Gradient 보정 Momentum의 효과 AdaGrad : Learning Rate를 조절, Gradient를 Adaptive하게 적용 RMSProp : Learning Rate를 조절 ADAM : Momentum + RMSProp : Learning Rate를 조절, Gradient 보정 Optimizer = 최적화 해주는 것 Gradient Descent를 다양한 기법들로 최적화 해주는 것을 Optimizer 라고 한다. 최적에 수렴하는 Global Minimum을 찾기 ..

CNN - Cross Entropy
2022. 1. 20. 15:37
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Cross Entropy를 통한 Loss Cross Entropy 와 Squared Error 비교 Cross Entropy - Sigmoid의 경우 계산하는 방법 Cross Entropy 정리 Cross Entropy를 통한 Loss 예측 정확도를 늘려보자. 0.3 → 0.4 0.5 → 0.7 0.5 → 0.8 Loss를 감소시키려면 Gradient Descent가 잘 설정이 되어있어야 하고, 여기에 기반해서 Confidence를 높이는 방향으로 해서, Loss를 낮출 수 있다. Cross Entropy와 Squared Error 비교 Squared Error 기반은 일반적으로 잘못된 예측에 대해서 상대적으로 CE보다..

CNN - Loss function
2022. 1. 20. 11:31
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Loss function(손실함수) : 네트웍 모델이 얼마나 학습데이터에 잘 맞고 있는지, 학습을 잘하고 있는지에 대한 길잡이 Loss function의 역할 Regression의 Loss function : MSE Classification의 Loss function : Cross Entropy Loss Cross Entropy Loss는 무엇인가? Cross Entropy Loss는 어떻게 구하는가? Cross Entropy Loss의 특성 Loss function (손실함수) 손실함수 = 비용함수 = 목적함수 Loss function = Cost function = Object function 다 똑같은 함수다. ..

CNN - Activation function (활성화 함수)
2022. 1. 20. 10:16
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Activation function Activation function를 왜 적용해야 할까? : 딥러닝 네트워크에 비선형성을 적용하기 위함 딥러닝 모델에서의 Activation function 적용 : Sigmoid, ReLU, Softmax Sigmoid 함수의 특성 : 이진 분류의 최종 Classification layer에서 쓰인다. Sigmoid 함수의 Vanishing gradient 문제 회귀를 이용한 분류에서 사용되는 Sigmoid Hyperbolic tangent ReLU(Recified Linear Unit) : 대표적인 은닉층의 활성화 함수 input이 0보다 작을 때, 0으로 출력 input이 0보다..

CNN - Backpropagation의 Gradient 적용 메커니즘
2022. 1. 19. 20:36
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 DNN은 합성 함수의 연쇄 결합이다. 간단한 신경망 Backpropagation Upstream gradient와 Local gradient DNN은 합성 함수의 연쇄 결합이다. DNN의 구조를 다시보자. 다시보니 그저 함수가 연결된 그물망처럼 보인다. 최종 출력을 풀면 Output = F3 x (W^3 x F2 x (W^2 x F1 x (W^1 X))) 이다. 간단한 신경망 Backpropagation 이제 간단한 신경망을 Backpropagation 해보자. 위의 과정에서 이 식을 풀고 싶다. 그런데 a^3은 g^3(z^3) 이고, 또 z^3은 θ2a2 이다. 이렇게 계속 풀어야 되기 때문에 굉장히 복잡해질 수가 있..