본문 바로가기

AI

CNN 이란? 오늘은 이미지 및 영상 인식을 위한 딥러닝의 기본 모델인 CNN에 대해 알아보도록 하겠다.(다만, 필자는 시계열 데이터를 분석하기 위한 사전 조사이다.) CNN Convolutional neural network의 약자로, 합성곱 계층을 쌓아 만들어낸 모델.주로 이미지와 같은 시각적 데이터를 처리하는 데 탁월한 성능을 보이는 신경망 모델이며, 시계열 데이터 분석이나 자연어 처리에도 적용할 수 있다. (데이터 패턴을 찾는데 최적화)  CNN의 구조 CNN은 입력계층과 출력계층, 그리고 그 사이의 여러 은닉 계층으로 이루어져 있다.각 계층이 영상 및 시계열 데이터에서의 서로 다른 특징을 검출해낼 수 있다. 은닉 계층에서는 해당 데이터의 고유한 특징을 학습한다는 의도로 데이터를 변경시키는 연산을 하는데, 주로.. 더보기
LSTM 예측 - BEMS 시계열 데이터 RNN, LSTM, GRU, Transformer Model에 대해 살펴보고, LSTM과 GRU를 통해 주가 데이터 예측을 진행해 보았다.이제 BEMS(Building Energy Management System)의 실제 Data set에 적용해보자. 시드 고정 및 GPU장비 설정import osimport random# 시드 값 고정seed = 42# Python 내장 해시 함수의 시드를 고정하여 재현성을 확보 (Python 3.3 이상에서만 적용)os.environ['PYTHONHASHSEED'] = str(seed)random.seed(seed) # Python의 random 모듈np.random.seed(seed )# NumPy의 난수 생성기torch.manual_seed(seed) # PyTor.. 더보기
Local 원격저장소를 통해 DVC 사용하기 위와 같은 이유로... 구글 드라이브와의 연동은 결국 포기했다..Colab DVC를 상상했는데.... 흑이전에 GCP에서 진행하였던것과 달리, 이번에는 대신 local환경을 원격저장소로 사용해 보았다! 먼저, dvc파일들을 github에서도 확인할 수 있으면 좋을 것 같아서 git의 원격 저장소를 github로 설정해 주었다.방법은 1. github repository 생성2.  git remote add origin 3. git push -u origin main (github사이트가 켜지면 인증)으로 비교적 간단하다. 이후 git remote -v를 통해 확인해 볼 수 있다. 이제 local 원격저장소로 사용할 디렉터리를 생성해 준 후,dvc remote add -d 를 통해 DVC의 원격저장소를.. 더보기
Pytorch를 통한 주가 분석 (LSTM, GRU) LSTM과 GRU는 순차적 데이터를 다루기에 적합하다.두 모델을 통해 주가를 분석하고, 성능을 비교해보자. 전체적인 코드의 흐름은 아래와 같다.환경 구축 -> 주가 데이터 가져오기 -> 데이터셋 분류 (훈련 / 테스트) ->  데이터 전처리(모델에 맞춰 형식 변환)-> 모델 생성 -> 하이퍼 파라미터 설정 -> 모델 학습 -> 예측값 도출 및 시각화 -> 성능 평가 import torchimport torch.nnimport torchvision.transforms as transformsimport torchvision.datasetsfrom torch.autograd import Variablefrom torch.nn import Parameterimport torch.nn as nnfrom torc.. 더보기
Google Colab 단축키 모음 이전에 python 코드를 작성할 때, Colab, Jupyter-Notebook, pycharm등 다양하게 이용해왔는데,최근에 ML관련 코드들을 작성할 일이 많아져 이번 기회에 앞으로 사용할 IDE를 Colab으로 정하게 되었다. 웹 기반 IDE의 편리함과, GPU를 사용할 수 있다는 점. 무엇보다 현재 노트북2개와 데스크톱 1개를 사용하고 있는데, 클라우드 기반이기에 어디서나 작업을 이어갈 수 있고, github와 연동이 된다는 점이 마음에 들었다. Jupyter-Notebook은 오프라인 환경에서도 작업이 가능하다고 하는데, 내 주위는 WiFi 천국이다..아, AI나 데이터 분석 관련 여러 패키지 미리 설치되어있다는 점도 매우 마음에 들었다!!  자, 그럼 본격적으로 앞으로 사용할 Colab의 주요.. 더보기
RNN, LSTM, GRU, Transformer model RNN이 무엇인지, 관련 모델들이 어떻게 진화해왔는지에 대해 알아보도록 하자.*본 글에서 수식은 다루지 않습니다. RNN(1986) -> LSTM(1997) -> GRU(2014) -> Transformer model(2017) RNN이란?Recurrent Neural network의 약자로, 순환 신경망이라고도 한다.Nueral network의 주요 아키텍쳐 중 하나이며, 이외로는 CNN, GNN 등이 있다.시계열 데이터나 순차 데이터를 처리하는 데 특화된 신경망 구조이다. 입력 계층 : 처리할 정보를 수신출력 계층 : 결과를 제공은닉 계층 : 데이터 처리, 분석 및 예측위의 3계층으로 보통 구성된다.  Recurrent에서 생각해 볼 수 있듯이, RNN모델은 은닉층의 노드에서 나온 결괏값을 출력층으로.. 더보기
DVC : Data Version Control DVC의 사용 목적과 방법에 대해 정리해보고자 한다.DVC란?머신러닝 모델을 사용하는 과정에서, 담겨지는 데이터나 이용하는 모델이 지속적으로 바뀌는데, 이에 대한 버전관리를 도와주는 도구로 "데이터를 위한 Git" 이라고 생각하면 이해하기 쉽다. DVC의 작동 방식  Local Cache를 두어, 데이터 중복 방지 및 빠른 데이터 접근을 제공 (해시 기반 관리) Local Workspace와 Local cache에 중복으로 데이터를 저장하는것을 방지하고자,작업공간의 캐시된 데이터에 대해 파일 링크를 생성. reflink(Copy-on-Write),  hardlink, symlink 中 1세 가지 모두 해당 파일 시스템에서 지원하지 않는다면 copy(직접 복사)의 방식을 사용하여 캐시에 저장메타데이터를 ... 더보기