배우고 느끼고 생각하고 사랑하라

그리고 즐겨라

정리 25

ODQA(Open-Domain Question Answering)

"대한민국 GDP는 세계 몇위야?" MRC 우리가 원하는 질문에 대답하기 위해 문서를 읽고 내용을 이해해 정답을 내는 기술을 MRC(Machine Reading Comprehension)이라고 한다. MRC는 컴퓨터가 텍스트를 '이해'하고 그 내용에 대해 질문에 대답하는 능력을 갖추는 것을 목표로 하는 NLP 분야의 중요 주제 중 하나이며, QA(Question Answering) 분야로 들어오면 Closed-Domain Question Answering. 즉, 주어진 지문 안에서 답을 찾는 과정이다. 그러나 우리가 검색할 때 지문을 가지고 그 속에서 대답을 찾는 경우는 흔치 않다. ODQA ODQA(Open-Domain Question Answering)은 이렇게 다양한 종류의 질문에 대..

정리/NLP 2023.06.12

[다변량 데이터 분석] Chapter.06 Artificial Neural Networks

본 게시글은 강필성 교수님의 다변량 데이터 분석 강의를 기반으로 작성되었습니다. 6) Artificial Neural Networks Perceptron Brain Structure 인간의 뇌는 뉴런 사이의 전기신호를 통해 메시지를 전달 여러 뉴런으로부터 신호를 받아 다른 뉴런으로 보내는 형식 사람의 뇌를 모사해서 컴퓨터에 표현하자! Perceptron An organism with only 1 neuron $x_0$ = 상수 $x_1, x_2$ = 변수 $w_0, w_1, w_2$ = 가중치(학습 대상) $h$ = 활성화함수 $y$ = 추정치 $t$ = 실제값(target) $L$ = loss function 진행 과정 전반부 가중치와 변수를 곱한 후 더해 스칼라 값으로 만들어 줌 후반부 해당 값을 활..

[다변량 데이터 분석] Chapter.05 Decision Tree

본 게시글은 강필성 교수님의 다변량 데이터 분석 강의를 기반으로 작성되었습니다. 5) Decision Tree Decision Tree(의사결정 나무)는 분류와 회귀가 모두 가능한 모델이다. 왜 Classifier의 종류는 다양할까? We cannot guarantee that a single classifier is always better than the others Decision Tree Logistic Regression Random Forest SVM Neural Network 1) Classification Tree 목적 변수들의 조합을 통해 분류 규칙을 생성 output = set of rules Tree 최상단 노드(Root Node)부터 최하단 노드(leaf Node)까지의 모임 강점 ..

[Pytorch 꿀팁] Cuda:out of memory

딥러닝 코드를 작성하다 보면 Cuda: out of memory를 볼 때가 있다. 내 코드가 그렇게 거대하지 않은데도 불구하고 문제가 발생한다면 아래 부분을 확인해 볼 필요가 있다. for epoch in range(EPOCHS): loss_val_sum = 0 for batch_in,batch_out in train_iter: # Forward path y_pred = C.forward(batch_in.view(-1,1,28,28).to(device)) loss_out = loss(y_pred,batch_out.to(device)) # Update optm.zero_grad() loss_out.backward() optm.step() ######################################..

정리/Pytorch 2023.03.24

[다변량 데이터 분석] Chapter.04 Dimensionality Reduction

본 게시글은 강필성 교수님의 다변량 데이터 분석 강의를 기반으로 작성되었습니다. 4) Dimensionality Reduction 1) Dimensionality Reduction Data Analytics Process 데이터 확보 - 전처리 - 학습 - 평가 확보한 데이터 X의 차원 d가 너무 많아서 학습이 잘 안될 때 성능은 저하시키지 않으며 적은 차원 d' 으로 축소 모델링의 효율성 추구 High-dimensional Data Examples Document classification (BOW, Bag of Words 과도화 문제) REcommendation systems Clustering gene expression profiles 제조 공정 데이터 (이상치 탐지) Overview Cu..

[다변량 데이터 분석] Chapter.03 Logistic Regression

본 게시글은 강필성 교수님의 다변량 데이터 분석 강의를 기반으로 작성되었습니다. 작성자 : KUBIG 16기 최규빈 Chapter 3) Logistic Regression 1) Formulation Logistic Regression 일반적인 회귀분석 -> y값이 연속형 logistic regression -> classification(분류) $$ p = {1 \over 1 + e^{-(\beta_0 + \beta_1x_1 + \beta_2x_2 ... + \beta_dx_d)}} $$ 2) Learning 선형 회귀의 beta = closed form 존재 Likelihood Function 해당 task에서는 정답 class로 분류될 확률 independent하게 산출된 데이터라면, entire d..

[부스트캠프 AI Tech] Day 10

8) Multi-GPU 학습 개념정리 Single vs Multi GPU vs Node Single Node SSingle GPU Single Node Multi GPU Multi Node Multi GPU Model parallel 다중 GPU에 학습을 분산하는 두가지 방법 모델을 나누기 / 데이터를 나누기 모델을 나누는 것은 생각보다 예전부터 썼음(alexnet) 모델의 병목, 파이프라인의 어려움 등으로 인해 모델 병렬화는 고난이도 과제 class ModelParallelResNet50(ResNet): def __init__(self, *args, **kwargs): super(ModelParallelResNet50, self).__init__(Bottleneck, [3,4,6,3], num_clas..

정리/부캠-2 2023.03.23

[부스트캠프 AI Tech] Day 9

6)모델 불러오기 fine-tuning 형태로 모델을 만들자 model. Save() 학습의 결과를 저장하기 위한 함수 모델 형태(architecture)와 parameter를 저장 모델 학습 중간 과정의 저장을 통해 최선의 결과모델을 선택 만들어진 모델을 외부 연구자와 공유하여 학습 재연성 향상 print("Model's state_dict:") #파라미터 표시 for param_tensor in model.state_dict(): print(param_tensor, "\t", model.state_dict()[param_tensor].size()) #모델의 파라미터 저장 torch.save(model.state_dict(), os.path.join(MODEL_PATH, "model.pt")) ..

정리/부캠-2 2023.03.23

[부스트캠프 AI Tech] Day 8

과제 day Pytorch Custom Modelling torch.Tensor.view #resize torch.gather #대각선 요소 가져오기 torch.nn.Linear #Linear transformation torch.nn.Module #기본 module 클래스 상속 torch.nn.Sequential #sequential module container torch.nn.ModuleList #List module container torch.nn.ModuleDict #Dictionary module container torch.nn.parameter.Parameter #parameter 설정 register_buffer #buffer 설정(parameter가 아닌 tensor 별도 저장) mo..

정리/부캠-2 2023.03.23

[부스트캠프 AI Tech] Day 7

과제 Custom Model 제작 # 사용 클래스 및 메소드 4)AutoGrad & Optimizer 논문을 구현해보자 수많은 반복의 연속 Layer = Block torch.nn.Module 딥러닝을 구성하는 Layer의 base class Input, Output, Forward, Backward(autograd) 정의 학습의 대상이 되는 parameter(tensor, weight) 정의 nn.Parameter Tensor 객체의 상속 객체 nn.Module 내에 attribute가 될 때는 required_grad = True로 지정되어 학습 대상이 되는 Tensor 우리가 직접 지정할 일은 잘 없음 대부분의 layer에는 weights 값들이 지정되어 있음 low level 의 API Backw..

정리/부캠-2 2023.03.23