본문 바로가기
728x90

전체 글25

Map-style dataset vs Iterable-style dataset Pytorch에서 Dataset은 데이터를 추상화한 클래스로서, 모델의 학습 및 평가에 사용됩니다. Dataset 클래스의 두 가지 종류인 map-style dataset과 Iterable-style dataset에 대해 정리하였습니다. 1. Map-style dataset map-style dataset은 데이터를 인덱스로 매핑하는 인덱스 접근 방식(index-based access)을 사용 특히 이미지, 텍스트 등 각 데이터가 개별적으로 저장되어 있고, 인덱스를 사용하여 빠르게 액세스 할 수 있는 경우에 유용함 ex) 이미지 데이터셋에서 각 이미지는 파일로 저장되어 있고, 파일 경로를 사용하여 인덱스를 지정하는 것 map-style dataset 클래스는 __len__과 __getitem__ 메소드를.. 2023. 4. 9.
AB Test란? AB Test은 그로스 해킹에서 진행하는 실험 중 하나입니다. 여기서 그로스 해킹이란, 서비스 출시 이후에 실험을 통해 서비스에 대한 성장을 이뤄내는 것이라고 합니다. 사용자의 행동 패턴을 분석하고 서비스에 새로운 기능을 추가하거나 기존의 기능을 변경하여 더 나은 서비스를 제공하는 것입니다. AB Test 정의: 기존의 서비스 A안과 특정 기능/요소를 변형한 B안을 비교해 어느 것이 더 나은 성과를 나타내는지 측정하는 실험 웹사이트, 이메일, 광고 등에 사용 ex. 웹사이트에서 특정 배너의 색상을 바꾼다거나, 이메일에서 사용하는 문구를 바꾼다거나, 광고의 사진을 바꿔 클릭률(CTR)의 증가나 수익의 증가를 측정할 수 있음 일부 사용자들에게는 기존의 A안이, 다른 사용자들에게는 B안이 표시되어 성과를 비교.. 2023. 4. 7.
컬러 모델(Color Model) - RGB, CMYK, HSI, YCbCr, YIQ, Yuv 컬러 모델의 종류에는 RGB, CMYK, HSI, YCbCr 등이 있습니다. 여러 컬러 모델 중 RGB, CMYK, HSI, YCbCr, YIQ, Yuv에 대해 알아보고 비교해 보려고 합니다. 1. RGB 가산 체계 → 모든 값을 더하면 흰색이 됨 색의 표준으로 사용 RGB에 똑값은 픽셀 값을 대입하면 GrayScale이 되고, R채널 값만 보고싶을 때에는(프레임 별 분포) 나머지 픽셀 값을 0으로 바꾸면 됨 2. CMYK 감산체계 → 값이 커질수록 검은색에 가까워짐 잉크젯 프린터에서 사용, 프린트 관련 산업에서의 표준 RGB와 CMYK는 교환관계에 있음 3. HSI(HSV) 색상(Hue), 채도(Saturation), 명도(Intensity)로 이루어져 있음 색상을 표현하기 매우 직관적(ex. 그래디언.. 2023. 3. 30.
컴파일러(Compiler) vs 인터프리터(Interpreter) 고급 언어(High-level language)로 프로그램을 짠 후 컴퓨터가 알아들을 수 있는 기계어로 번역을 하는 방법으로는 컴파일 방식과 인터프리트 방식이 있습니다. 그리고 이때 기계어로 번역을 하는 역할을 하는 것이 컴파일러와 인터프리터입니다. 컴파일러(Compiler) 프로그램 전체를 스캔하여 한 번에 기계어로 번역 초기 스캔 시간이 오래걸리지만 전체 실행 시간은 인터프리터보다 빠름 인터프리터보다 많은 메모리를 사용한다는 단점이 있음 전체 코드를 먼저 검사하기 때문에 실행 전에 오류 발견 가능 C, C++, JAVA 등 인터프리터(Interpreter) 프로그램 실행 시 한 번에 한 문장씩 기계어로 번역 컴파일러에 비해 느림 메모리 사용은 인터프리터에 비해 효율적 프로그램 실행 중 오류를 만나면 .. 2023. 3. 29.
스태킹 앙상블(Stacking Ensemble)이란? 앙상블 기법에는 크게 Voting, Bagging, Boosting 그리고 추가로 Stacking, 이렇게 4가지가 존재합니다. 그 중에서 Stacking Ensemble 기법에 대해서 공부하여 정리해 보았습니다. 스태킹 앙상블(Stacking Ensemble) 개별적인 여러 모델들을 서로 결합해 예측 결과를 도출한다는 점에서는 배깅(Bagging) 및 부스팅(Boosting)과 비슷함 각각의 모델들로 예측한 데이터를 기반으로 다시 예측을 수행한다는 점에서는 차이가 있음 스태킹을 하기 위해서는 2~3개(또는 그 이상)의 Base model과 1개의 Meta model이 필요함 대회에서 성능을 조금이라도 올려야 할 경우에 사용함 따라서, 스태킹은 '여러 개의 Base model들로 예측한 결과를 다시 tr.. 2023. 3. 27.
기울기 폭발(Gradient Exploding) 기울기 소실과 폭발(Gradient Vanishing and Exploding)은 layer가 깊은 신경망을 훈련하는 동안 발생할 수 있는 문제입니다. 기울기 소실과 관련된 포스팅은 다음 링크에 있습니다. 기울기 소실(Gradient Vanishing) 여기서는 기울기 폭발과 관련된 내용들을 정리하였습니다. 기울기 폭발(Gradient Exploding) 역전파 과정에서 출력층에서 입력층으로 갈수록 기울기가 커지는 현상 가중치들이 너무 커지면서 발산되는 현상 해결 방법 그래디언트 클리핑(Gradient Clipping) 가중치 초기화(Weight initialization) 1. 그래디언트 클리핑(Gradient Clipping) 기울기의 폭발의 막기 위해 기울기의 값을 자르는 것 특정 threshold.. 2023. 3. 24.
[DAY14] 학습 정리 및 회고 목차 1. 학습 정리 2. 피어세션 3. 마스터 클래스 4. 회고 학습 정리 RNN(Recurrent Neural Network, 순환 신경망) 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델 이전 단계에서 얻은 정보가 지속되도록 하는 것 state의 활성화 함수: tanh(non-linear 함수) 장점: Short-term dependencies는 잘 잡음 단점: Long-term dependencies를 고려하기 어려움 → vanishing gradient problem LSTM(Long Short-Term Memory) RNN의 hidden state에 cell-state를 추가한 구조 → Update cell Input gate, Forget gate, Output gate .. 2023. 3. 23.
문맥교환(Context Switching)이란? Context Switching이란? 정의 현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정 하나의 task가 끝날때까지 다음 task는 기다려야하기 때문에 CPU가 task를 빠른속도로 바꿔가면서 실행하는 것 사람의 눈으로는 실시간으로 처리되는 것처럼 보임 Process와 Thread 처리 task의 정보(=context)는 PCB(Process Control/Context Block)로 관리하고 레지스터(register)에 저장함 1. Process: OS에 의해 PCB로 관리됨 2. Thread: Process내의 TCB(Task Control Block)이라는 내부 구조를 통해 관리 일반적으로 멀티 프로세스를 통해 P.. 2023. 3. 23.
728x90
반응형