본문 바로가기

딥러닝16

딥러닝 모델로 시계열 데이터 예측하기 - [논문 리뷰] Time Series Forecasting (TSF) Using Various Deep Learning Models (2022) 이 포스팅은 딥러닝 모델을 활용하여 시계열 데이터 예측한 논문을 리뷰하는 글입니다. 시계열 데이터의 경험이 적은 분들에게 유용한 논문인 것 같아서 리뷰합니다.읽은 뒤에는 시계열 데이터 핸들링과 실험 설계를 더욱 잘 할 수 있을겁니다. 이 논문의 main contribution은 Time Series data를 forecasting 할 때에 input data의 window size를 조절할 W, input data로부터 몇 step 만큼의 미래를 예측할 것인지 정하는 K 즉, 하이퍼 파라미터 W와 K를 조절해가며 각 딥러닝 모델마다 어떤 결과를 내는 특성이 있는지 비교 관찰한 것입니다. 쓰인 모델은 RNN, LSTM, GRU, Transformer입니다. RNN 계열 모델의 성능이 Transformer보.. 2023. 3. 12.
[논문 리뷰] R-CNN (2014) 설명 위 계보대로 Obj Detection 모델들의 논문을 리뷰해볼까 합니다. Yolo시리즈부터는 조금 자세히 쓰고 그 이전 모델들은 너무 옛날이라 작동방식 정도만 리뷰합니다. 처음부터 공부하시는 분들은 가장 많이 쓰는 최신모델 Yolo만 공부하지 왜 다 읽나? 싶을 수 있는데 우선 저는 그냥 위 순서대로 공부했고, 아마 백그라운드 없이 최신 YoLo부터 보시면 이게뭐야~ 하면서 탑다운으로 쭉 내려와 2-stage detection모델부터 볼 확률이 높습니다 ㅎㅎ.. 특히 YoLov4 논문은... 2-stage detection모델인 R-CNN(2014)부터 리뷰합니다. 1. 1-stage detectior & 2-stage detectior 2. Abstract 3. R-CNN 구조 & 동작 원리 4. 문제.. 2022. 11. 2.
CNN( Convolutional Neural Network)이해하기 모두의 딥러닝이라는 서적을 통해 딥러닝을 처음 접하면서 CNN(합성곱 신경망)이라는 모델을 공부했습니다. 통계 전공이지만 처음 알게되는 사실들이 많아 책보다는 좀 더 딥하게 공부하고 싶어서 구글링으로 더 공부하여 따로 포스팅을 하고싶어서 하게 됐습니다! 책에서는 CNN을 이미지 인식의 꽃 이라고 표현했지만, CNN은 자연어 처리에도 이용한다고 합니다. 제가 이 CNN을 공부하면서 가졌던 의문들이 다른 분들도 궁금할 수 있을 것이라고 생각합니다. 이 관점으로 포스팅을 시작할게요. 우선 가장 처음에 CNN을 공부할 때는 이미지 데이터에 합성곱을 적용하는 부분이 어렵진 않았지만, 이 합성곱이란게 뭔지가 궁금했습니다. 들어본 적이 없었거든요. 합성곱이 뭔지만 알고 내용을 시작하겠습니다! 먼저 위키피디아에서 어떻.. 2020. 8. 13.
[모두의 딥러닝] 15장 선형 회귀 적용하기 이번 데이터는 보스턴의 집값에 대한 데이터 입니다. 레이블이 집값이기 때문에 분류가 아닌 회귀 문제입니다. 음... 인공 신경망은 분류와 선형 회귀가 큰 차이가 없습니다. 단지 출력층에서 0,1로 뱉는 활성화 함수를 지정해주지 않는다는 점이 차이점이예요. 마찬가지로 아주 간단합니다. from keras.models import Sequential from keras.layers import Dense from sklearn.model_selection import train_test_split import tensorflow as tf # seed값 설정 seed=0 np.random.seed(seed) tf.random.set_seed(3) dataset = df.values X = dataset[:,.. 2020. 7. 24.
[모두의 딥러닝] 14장 베스트 모델 만들기 오늘은 14장 '베스트 모델 만들기'가 주제입니다. 데이터셋은 와인의 속성 13개와 레이블이 레드와인 : 0, 화이트와인 : 1 입니다. 이진분류 모델을 만드는 데에 있어서 베스트 모델을 만들어 저장하는 법이 주제입니다! 우선 이제까지 했던 것처럼 모델을 적용해보겠습니다. 전처리 과정이 없고, 계속 똑같이 인공신경망으로 모델을 만들기때문에 코드는 동일합니다. from keras.models import Sequential from keras.layers import Dense from keras.callbacks import ModelCheckpoint, EarlyStopping import tensorflow as tf import matplotlib as plt # seed값 설정 seed=0 np... 2020. 7. 23.
[모두의 딥러닝] 13장 과적합 피하기 13장은 제가 잠깐 언급했던 과적합(overfitting)에 대한 챕터입니다. 과적합이 무엇인지에 대해서 정확히 짚어보고 그 해결방안을 주제로 포스팅 하겠습니다. 이번 데이터는 이진분류로 광석과 돌을 예측하는 모델을 설계합니다. 코딩은 지난 포스팅이랑 거의 똑같아요. 간단합니다. from keras.models import Sequential from keras.layers.core import Dense from sklearn.preprocessing import LabelEncoder # 시드값 설정 np.random.seed(3) tf.random.set_seed(3) # 데이터 입력 dataset = df.values X = dataset[:,0:60] X = X.astype(float) Y_ob.. 2020. 7. 14.
[모두의 딥러닝] 12장 다중 분류 문제 해결하기 이제껏 우리는 이진분류에 관한 데이터만 다루었습니다. 12장은 레이블 데이터가 3개 이상의 범주형 데이터를 다룰 때를 위한 챕터입니다. 앞에서 딥러닝을 공부하면서 레이블의 범주가 3개 이상이면 어떤 식으로 알고리즘이 분류할지 계속 궁금했습니다. 출력층은 활성화 함수(sigmoid)가 1 or 0의 값을 뱉어내는데 과연 이럴 때는 어떻게 알고리즘을 설계하거나 작동할지가 진짜 의문이었는데 답은 간단하더군요! ㅋㅋ 그냥 출력층의 개수를 범주의 개수와 똑같이 맞춥니다! 이제 데이터를 보겠습니다. 이번 데이터는 꽃잎의 모양과 길이 등의 정보를 토대로 꽃의 3종류를 분류하는 문제입니다. pair plot은 몇개의 피쳐들에 한하여 범주형 데이터를 시각화 할때, hue를 지정해주고 그리면 굉장히 유용합니다. 범주별 특.. 2020. 7. 12.
[모두의 딥러닝] 11장 데이터 다루기 11장은 10장처럼 간단하게 인공 신경망을 구현하지만, 약간의 데이터를 다루는 법이 추가되어 있습니다. 아주 기초적인 부분이라서 어렵지 않고, 코드 하나 하나 설명이 친절히 나와있어요. 이 책의 큰 장점이죠! 데이터는 pima indian입니다. 인디언 768명으로부터 당뇨병의 여부를 예측하는 문제입니다. 먼저 pandas를 이용해 각 column의 네임을 지정해주면서 DataFrame을 불러옵니다. 그리고나서 describe함수를 통해 기초 통계량을 확인합니다. decribe 함수는 각 컬럼들의 정보들을 한눈에 볼 수 있어서 컬럼이 적을 때는 꽤나 유용합니다. 이렇게 각 컬럼들의 기초 통계량과 컬럼들의 정보를 알아가면서 데이터 분석을 시작합니다. 우리가 가장 궁금하고 예측해야할 컬럼은 바로 'class.. 2020. 7. 11.
[모두의 딥러닝] 10장 모델 설계하기 드디어 이론은 끝났습니다! 10장부터는 데이터를 직접 다뤄보고 여러가지 딥러닝 알고리즘을 설계하는 단계가 시작됩니다! 10장은 그 중에서도 아주 기본적으로 케라스에서 제공하는 함수를 이용해 딥러닝을 구현합니다. 코드도 너무 쉬워서 10장까지 따라오면 큰 문제없이 따라하실 수 있습니다. # 필요한 모듈 import from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import numpy as np import tensorflow as tf import pandas as pd # 실행할 때마다 같은 결과를 출력하기 위해 설정하는 부분 np.random.seed(3) tf.random.set_seed(.. 2020. 7. 10.