LSTM 이란?
2022. 2. 8. 19:08
💡 AI/토이 프로젝트
목차 빈칸에 들어갈 단어는? (he, she) 간단한 RNN 구조 좀더 간략화한 RNN 구조 Gradient descent weight optimization Error3 derivative caculation Gradient Vanishing Gradient Exploding Long sequence에 대한 해결책 : LSTM (Long Short Term Memory) LSTM : RNN에 memory cell 도입 LSTM cell LSTM cell : forget mechanism LSTM cell : input mechanism LSTM cell : output mechanism 아래의 빈칸에 들어갈 단어는? (He/She) 정답 : He 빈칸의 이전 문장에서 John에 대한 이야기를 하고 있기..
📈 LSTM을 이용한 TSLA 주식 예측
2022. 2. 1. 12:18
💡 AI/토이 프로젝트
간단한 코드로 테슬라, 삼전 주식을 예측해보자. 목차 Load Dataset Compute Mid Price Create Windows Normalize Data Build a Model Training Prediction Load Dataset import pandas as pd # csv 파일 로드 import numpy as np # 행렬 연산 import matplotlib.pyplot as plt # 데이터 시각화 from keras.models import Sequential # deep learning model from keras.layers import LSTM, Dropout, Dense, Activation import datetime https://finance.yahoo.com 야..
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만개는 테스트..
🧙 해리포터 투명망토 만들기
2022. 1. 24. 18:06
💡 AI/토이 프로젝트
투명 망토 만들기 특정 색깔을 뽑아서 마스크를 만든다. 미리 찍어놓은 background 이미지에 마스크를 입힌다. (res1) 지금 카메라(또는 비디오)에서 들어온 이미지를 마스크만큼 뺀다. (res2) 두 개를 합친다. (res1 + res2) 파란색 HSV range 수정 lower_blue = np.array([105,120,70]) upper_blue = np.array([135,255,255]) mask1 = cv2.inRange(hsv, lower_blue, upper_blue) import cv2 import numpy as np import time, argparse parser = argparse.ArgumentParser() # 인자값을 받을 수 있는 인스턴스 parser.add_ar..
Python - 메모리 구조 및 메모리 할당 과정
2022. 1. 24. 14:29
📌 Python
목차 Everything is object in Python 파이썬의 메모리 구조 파이썬에서의 Heap 사용 파이썬에서의 메모리 할당 과정 Everything is object in Python x = 10 print(type(x)) >> C에서 x = 10 이렇게 변수를 할당하면, 메모리에 해당 값이 바로 저장되지만 파이썬에서 x = 10 이렇게 변수를 할당하면, int라는 object를 만들어서 변수 x가 그 객체를 가리키는 형태입니다. x의 타입을 출력해보면 class가 나오는데, class를 구체화 한 것이 object입니다. Class와 Object에 대한 설명 더보기 더보기 class와 object를 간단히 설명하자면 class는 추상적인 것이고, object는 구체적인 것이라고 생각하면 됩니..
Image Super Resolution
2022. 1. 24. 10:46
💡 AI/토이 프로젝트
Image Super Resolution Super Resolution (초고해상도) : 주로 모델로 생성된 이미지를 의미 High Resolution (고해상도) : 주로 Output 이미지를 의미 Low Resolution (저해상도) : 주로 Input 이미지를 의미 Image Super Resolution의 정의 저해상도 이미지를 고해상도로 변환시키는 문제 미디어, 의료, 보안 등 다양한 산업 분야에서 중요한 문제로 대두되고 있다. Image Super Resolution 문제의 어려움 Image Super Resolution은 유일한 정답이 존재하지 않는 ill-posed problem이 존재한다. 저해상도 이미지를 고해상도로 복원할 때 정답이 단 1개만 존재하지 않는다. Computer Vis..
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 이다. 이렇게 계속 풀어야 되기 때문에 굉장히 복잡해질 수가 있..
CNN - Backpropagation
2022. 1. 19. 19:43
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 Backpropagation : 출력층부터 역순으로 Gradient를 전달하여 전체 Layer의 가중치를 업데이트하는 방식 미분과 편미분? Chain Rule (미분의 연쇄법칙) Chain Rule은 양파를 까는 것과 같다. Loss function의 편미분 의존 변수들의 순차적인 변화율 Chain Rule의 의의 Backpropagation 출력층부터 역순으로 Gradient를 전달하여 전체 Layer 의 가중치를 업데이트 하는 방식 미분과 편미분? 일반적인 미분을 생각해보자. 편미분은 뭐였더라? 편미분은 여러 변수에 대한 식이 있을 때, 다른 변수는 고정시켜 놓고 하나의 변수에 대해서 미분하는 것이었다. Chain ..
CNN - Deep Neural Network
2022. 1. 19. 16:27
🖼 Computer Vision/CNN
📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다. 목차 심층 신경망(Deep Neural Network) : 은닉층이 포함된 다중 퍼셉트론 DNN의 구조 DNN Traning 개요 : Feed forward(weight update) → Backpropagation(weight update) → Iteration Deep Neural Network(심층 신경망) 지금까지 배운 퍼셉트론은 간단한 문제만 해결이 가능했다. 보다 복잡한 문제를 해결하려면 Hidden Layer 라는 것이 필요하다. 그냥 Layer를 여러개 쌓는 것이다. 아래 그림처럼 Hidden Layer가 포함된 기다란 퍼셉트론을 Deep Neural Network라고 한다. 입력층의 피쳐들이 100개면, 은닉..