데이터 분석/딥러닝 5

딥러닝 유틸(1) Tmux

1. Tmux란? 터미널 멀티플렉서로, 하나의 터미널 세션에서 여러 개의 창을 관리하고, 세션을 분리하거나 재접속하는 등 유용한 기능을 제공하는 tool을 의미한다-> 즉, 우리가 모델을 돌릴 때 사용하고 있는 컴퓨터에서 여러 작업 터미널 창을 만들어 주며, tmux에 넣은 작업은 실제 작업 종료 전 까진 중단되지 않는다(작동중인 컴퓨터 종료해도 무관) 2. Tmux 구성요소: 세션(여러 터미널 창을 그룹화), 윈도우(작업 공간), Pane(독립적인 터미널 창) 3. Tmux 설치conda install -c conda-forge tmux # conda# 우분투 기반 도커 컨테이너apt-get updateapt-get install -y tmux# macOSbrew install tmux 4. 명령어# ..

자주 쓰이는 딥러닝(1): 최대우도추정, 크로스엔트로피 로스

최대우도추정: 주어진 데이터셋을 기반으로 확률 모델(로그 우도함수 최대화 하는 파라미터) 추정*우도란? 주어진 파라미터하에서 데이터 X가 관측될 확률엔트로피: 불확성의 척도로, 정보량의 기대값KL-divergence: 확률분포 간 정보량의 차이로, P분포를 추정하는데 Q분포가 얼마나 적합한 지 측정크로스 엔트로피(KL + entropy P)1) 두 확률 분포 p와 q사이의 차이를 측정하는 방법2) 모델이 예측하는 확률 분포 q와 실제 데이터의 분포 p가 얼마나 유사한지 측정크로스 엔트로피 손실함수이진 분류 손실함수다중 클래스 분류

밑바닥부터 시작하는 딥러닝(2): RNN

1. 자연어처리 분야에서 주로 사용하는 알고리즘(I, H, O) 입력, 히든스테이트, 출력 시계열, 연속적인 데이터에 주로 사용-Many to one(Text classification), Many to Many(Poos tagging), One to Many(NLG)-과거 정보의 이용 여부를 두고, 양방향 RNN으로도 사용-연속된 시퀀스의 반복 시 장기 기억 손실 문제로 향후 LSTM, GRU 알고리즘 탄생 배경이 됨-모델의 과도한 복잡성 증가(fc layers, relu 등) 시 과적합으로 예측력이 떨어질 수 있음Ex1) Many to Oneclass SimpleRNN(nn.Module): def __init__(self, input_size, hidden_size, output_size): ..

밑바닥부터 시작하는 딥러닝(1): CNN

1. 영상처리 분야에서 주로 사용(N, C, H, W 형태) 배치수, 채널, 높이, 너비매우 빠르고 적은 가중치 파라미터를 보유, 데이터셋의 구성에 따라 자동으로 탐지해야 할 패턴을 추출-고차원 공간의 정보를 저차원에 매핑-맥스풀링과 패딩, 스트라이드 방식을 활용 -> 핵심 피쳐, 정보 손실을 막기 위해Ex1) CNNimport torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport torch.optim as optim# 기기 설정 (CPU 또는 GPU)device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')# 데이터 로딩 및..

딥러닝(1): 딥러닝의 목적함수와 용어

0. Objective &Working Process -목적: 주어진 데이터에 대해 결과를 내는 가상의 함수를 모사 -작업 과정: 문제 정의 -> 데이터수집 -> 데이터 전처리&분석 -> 알고리즘 적용 -> 평가 -> 배포 문제 정의: 단계를 나누고 간소화, x와 y를 정의 데이터 수집: 문제 정의에 따른 수집, 필요에 따른 레이블링 데이터 전처리 및 분석: EDA, 형태 가공 알고리즘 적용: 가설 설계/구현 평가: 실험 설계, 테스트셋 구성 배포: RESTful API를 통한 배포, 유지 보수 1. Loss function -분류 예측값의 틀린 정도를 계산하는 Cross-Entropy -딥러닝의 모든 문제는 선형 회귀로 표현이 가능함(결과론적으로) y = wx + b 2. Weight Update(Gr..