[c++] std::accumulate
·
언어 | Framework/C++
std::accumulate//template T accumulate (InputIterator first, InputIterator last, T init);template T accumulate (InputIterator first, InputIterator last, T init, BinaryOperation binary_op); 에 포함된 누적 함수.first, last 범위의 모든 값을 누적하여 반환.기본 누적은 요소를 합하는 것,요소 합 이외의 다른 작업은 Binary_op로 지정할 수 있다. Parametersfirst, last : 사용되는 반복자의 범위init : 누적 계산의 초기 값.binary_op : 이진 연산 지정. (함수 포인터 or 함수 객체)  Example1) 배..
손실 함수 (Loss Function)
·
DeepLearning/Concept
Loss Function?딥러닝 모델에서 모델의 output인 예측값과 실제 정답(ground truth)인 실제값이 얼마나 유사한지 판단하는 기준.즉, 모델이 예측한 값과 실제 정답의 차이를 정량화하는 함수.이 loss function을 통해 나온 손실값을 최소화하는 방향으로 모델 파라미터를 업데이트. (학습) 회귀 문제 (Regression)MSE (Mean Squared Error)평균 제곱 오차로 예측값과 실제값의 차이의 제곱으로 손실을 계산하는 함수.오차값에 제곱을 하기 때문에 이상치에 민감하다. MAE (Mean Absolute Error)평균 절대값 오차로 예측값과 실제값 차이의 절대값으로 손실을 계산하는 함수.MSE에 비해 이상치에 둔감하다.  분류 문제 (Classification)BCE..
Multi GPU 학습 모델 불러오기
·
언어 | Framework/Pytorch
학습 시 Multi GPU 사용을 위해 nn.DataParallel을 사용.# ...model = nn.DataParallel(model)# ...  2개의 GPU에서 학습한 모델을 불러올때 아래와 같은 에러가 발생.pytorch RuntimeError: Error(s) in loading state_dict for XXX  nn.DataParallel로 병렬화 하면서 state_dict 키값에 'module.'이 붙으면서 맞지 않아서 발생하는 오류라고 한다. 학습 완료 후, 모델 추론 시 아래와 같은 방법으로 해결.from collections import OrderedDictmodel = MyModel().to(device)state_dict = torch.load('XXX.pth')new_state..
CBAM: Convolutional Block Attention Module 리뷰
·
DeepLearning/Classification
Abstractfeed forward CNN을 위한 간단하면서 효과적인 attention module인 CBAM을 제안.feature map이 주어지면 CBAM은 채널과 공간이라는 두 가지 개별 차원을 따라 attention map을 순차적으로 추론.CBAM은 가볍고 일반적인 모듈이기 때문에 모든 CNN에 원활하게 통합될 수 있으며 end-to-end 학습이 가능하다. Keywords : Object Detection, attention mechanism, gated convolution  IntroductionAttention은 어디에 집중해야 하는지 알려줄 뿐만 아니라 관심 표현도 향상시킨다.Attention mechanism을 사용하여 중요한 feature에 집중하고 불필요한 feature를 억제하..
[Deblurring] Rethinking Coarse-to-Fine Approach in Single Image Deblurring (MIMO-UNet)
·
DeepLearning/Segmentation
Abstract기존 coarse-to-fine 전략의 여러 서브 네트워크를 쌓아 다중 스케일 입력 이미지를 처리, 하위~상위 네트워크로 이미지 선명도를 점차 개선한다.이러한 coarse-to-fine 전략은 높은 계산 비용을 초래.본 논문은 MIMO-UNet (Multi Input Multi Ouput)을 제시.MIMO-UNet은 다중 스케일 서브 네트워크를 쌓아 올리는 방식의 단점을 극복.단일 네트워크에서 다중 스케일 입력과, 출력을 효율적으로 처리하는 방식을 제안한다.이를 통해 Deblurring 문제에 성능, 효율성을 개선했다.  Introduction초기 CNN을 기반으로 blur kernel을 추정하여 deconvolution으로 Deblurring을 수행.이후 end-to-end 접근법으로 b..
BAM: Bottleneck Attention Module 리뷰
·
DeepLearning/Classification
Abstract본 논문에서는 Deep neural network에서 Attention의 효과에 중점을 둔다.모든 feed forward convolution 신경망과 통합할 수 있는 BAM(Bottleneck Attention Module)을 제시.BAM은 channel과 spatial 두 가지 별도의 경로를 따라 Attention map을 추론.BAM은 feature map의 다운샘플링이 발생하는 모델의 각 병목 지점(bottleneck)에 배치.end-to-end 방식으로 학습할 수 있다.  Introduction딥러닝은 분류, 감지, 분할 및 제어 문제를 포함한 일련의 패턴 인식을 위한 강력한 도구였다.optimizer 설계, 적대적 훈련 방식, 탐지를 위한 2단계 아키텍처등과 같은 작업별로 다양한..
woongs_93
웅's blog