본문 바로가기

전체 글

(9)
1. Toy Project Discussion 0. why do we use Docker? The existing virtualization method was bound to be very heavy and slow because each virtual environment had an independent kernel OS. In addition, the performance and environment of the computer are limited because the resources available for each environment are fixed. However, Docker's virtualization method does not create a new kernel OS, but inherits and uses the exi..
Docker 환경을 사용해보자 웹 어플리케이션 개발을 위한 필수 요소 중 하나인 Docker의 중요성을 모두가 인정하는 시대가 되었습니다. 이러한 Docker 환경은 개발에서 배포까지의 과정을 획기적으로 단순화하며, 개발자들이 동일한 환경에서 일관성 있게 작업할 수 있게 도와줍니다. 그러나 Docker를 활용하려면 먼저 제대로 설치하는 것부터 시작해야 합니다. 그래서 오늘은, Linux 환경에서 Docker를 설치하고 설정하는 방법에 대해 자세히 알아보려고 합니다. 이 과정을 통해 Docker의 기본적인 설치 및 환경 설정법을 익히실 수 있을 것입니다. 따라서, 이 글은 Docker를 처음 접하시는 분들에게 특히 유익할 것입니다. 0. Docker 환경은 왜 필요할까? Docker를 사용해야하는 이유는 다음과 같습니다. 1) 환경 일..
Python에서 비동기 함수가 필요한 이유? 파이썬을 통해서 어느정도 개발을 하다보면 처리 속도에 대한 고민을 하게 됩니다. 이런 처리속도 측면에서 좋은 스킬로 사용할 수 있는 비동기 함수 사용방법에 대해 소개하고 실제로 얼마나 감소 효과가 있는지 비교하여 설명해보겠습니다. 0. Coroutine(코루틴) 들어가기에 앞서, 비동기 처리를 이해하기 위하여 Coroutine 이라는 개념을 잠깐 소개하도록 하겠습니다. Coroutine 은 비동기 프로그래밍을 위한 중요한 도구 중 하나로, '동시에 일어나는 것처럼 보이는 것'을 가능하게 합니다. Coroutine은 특별한 종류의 함수로, 실행을 일시 중단하고 필요할 때 다시 시작할 수 있습니다. 이를 통해 우리는 I/O 작업이나 사용자 입력과 같이 시간이 오래 걸리는 작업을 기다리는 동안 다른 코드를 실..
CI/CD에 대한 간단한 개념 소개 웹 어플리케이션 개발과 관련하여 공부를 시작하다보면 꼭 CI(Continuous Integration) / CD(Continuous Delivery or Continuous Deployment)라는 개념이 등장합니다. 그렇다면 지속적 통합과 제공 및 배포(CI/CD)는 왜 필요할까요? 결론부터 말씀드리자면, 빠른 "배포 속도"와 유연한 반영을 기반으로하는 "효율성" 때문입니다. 1. 지속적 통합 (CI) 현대적 어플리케이션의 다양한 기능 부여와 서로 다른 모듈까지 동시에 여러 개발자가 작업 가능하도록 구성하는 것을 목표로 합니다. CI는 빌드 자동화를 통해 변경되는 개발 코드의 충돌이나 예상치 못한 문제 발생을 예방하고, 통합 과정에서 빌드와 테스트를 수행하여 코드의 문제점을 빠르게 확인할 수 있습니다...
MixMatch: A Holistic Approach to Semi-Supervised Learning [NIPS 2019] 이 글은 MixMatch: A Holistic Approach to Semi-Supervised Learning논문을 참고하여 정리하였음을 먼저 밝힙니다. 논문에서 사용한 방법론을 간단하게 설명하고, pytorch를 이용하여 코드를 구현한 후 추가적으로 설명드리겠습니다. 혹시 제가 잘못 알고 있는 점이나 보안할 점이 있다면 댓글 부탁드립니다. 0. Summary SSL(Semi Supervised Learning)은 기존 supervised learning에 unlabeled data를 이용하여 보다 분류 성능을 향상시키고 모델을 robust하게 만드는 기법입니다. SSL 관련 연구에서는 Loss function에서 다음의 세 가지의 문제를 항상 고려합니다. 1. Entropy minimization :..
NGBoost: Natural Gradient Boosting for Probabilistic Prediction [ICML 2020] 이 글은 NGBoost: Natural Gradient Boosting for Probabilistic Prediction논문을 참고하여 정리하였음을 먼저 밝힙니다. 논문에서 사용한 방법론을 간단하게 설명하고, 라이브러리를 이용하여 코드를 구현한 후 추가적으로 설명드리겠습니다. 혹시 제가 잘못 알고 있는 점이나 보안할 점이 있다면 댓글 부탁드립니다. 0. Summary 기존 regression 모델은 점 추정치를 맞추는데 초점을 두었습니다. 이 논문에서는 probabilistic regression 모델을 사용하여 공분산을 조건부로 사용한 결과 공간에 대한 전체 확률 분포를 찾고자 합니다. 즉, 위의 그림과 같이 각 x 지점에서의 각각 다른 평균과 분산을 추정하는 것이 목표입니다. 위와 같은 문제를 해결..
Unsupervised Anomaly Detection withGenerative Adversarial Networks to GuideMarker Discovery (AnoGAN) [IPMI 2017] 이 글은 Unsupervised Anomaly Detection withGenerative Adversarial Networks to GuideMarker Discovery (AnoGAN)논문을 참고하여 정리하였음을 먼저 밝힙니다. 논문에서 사용한 방법론을 간단하게 설명하고, pytorch 라이브러리를 이용하여 코드를 구현한 후 추가적으로 설명드리겠습니다. 혹시 제가 잘못 알고 있는 점이나 보안할 점이 있다면 댓글 부탁드립니다. 0. Summary 본 논문은 의학 도메인의 가장 큰 문제인 병리 데이터 부족 문제로 인한 지도 학습의 한계점에 해결하기 위해 DCGAN과 Anomaly detection을 같이 활용할 수 있는 방법론을 사용하였습니다. 즉 AnoGAN이라는 방법론을 제안한 페이퍼입니다. 1. U..
An Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM) for Image Classification [CoRR 2017] 이 글은 Conditional Image Generation with PixelCNN DecodersAn Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM) for Image Classification 논문을 참고하여 정리하였음을 먼저 밝힙니다. 논문에서 사용한 방법론을 간단하게 설명하고, pytorch 라이브러리를 이용하여 코드를 구현한 후 추가적으로 설명드리겠습니다. 혹시 제가 잘못 알고 있는 점이나 보안할 점이 있다면 댓글 부탁드립니다. 0. Summary 일반적으로 Classification에서 사용하는 CNN 아키텍쳐는 FC(Fully connected layer)이후에 Softmax ..