목차 0. Abstract 1. Introduction 1.1 논문에서 지적한 문제점 1.2 논문에서 제안한 방법 2. Network Architecture 3. Training 3.1 Data Augmentation 4. Experiments 5. Conclusion 6. U-Net Code 0. Abstract 본 논문에서는 한정된 수의 데이터를 더 효율적으로 이용하기 위한 data augmentation에 의존한 네트워크와 학습 방식을 소개한다. 논문에서 제시하는 아키텍처는 context 정보를 얻을 수 있는 contracting path와 localization을 위한 symmetric expanding path로 이루어져 있다. 이러한 아키텍처를 가진 end-to-end 모델은 적은 개수의 이미..
Upsampling은 pooling layer를 거치면서 축소된 feature map을 원본 이미지 크기로 되돌리기 위해 사용하는 방식이다. 즉, conv와 pooling을 거치면서 원본 이미지를 압축해나가는 과정과 반대로 크기를 늘려나가는 방식이다. 이러한 upsampling은 여러 가지 방식으로 구현될 수 있다. 1) Nearest Neighbor / Bed of Nails 위 그림에서 표현된 두 가지 방식은 upsampling을 할 수 있는 가장 쉬운 방식 중 하나이다. 먼저, nearest neighbor는 dense layer를 늘린 뒤에 원본 이미지의 근접한 픽셀값을 채워넣는 방법이다. Bed of Nails는 마찬가지로 dense layer를 늘린 뒤에 한쪽 픽셀에만 기존에 가지고 있던 값을..
Git의 역사 Git은 리눅스 개발자인 리누스 토르발즈가 2005년에 개발한 시스템이다. 리눅스는 원래 BitKeeper라는 버전 관리 시스템에 의해서 운영되었다. 원래 유로 프로그램이지만, 제작사가 리눅스 커뮤니티에게 무료로 사용할 수 있게 해주었다. 그러나 리눅스 커뮤니티의 한 개발자가 BitKeeper의 이용 약관을 위배하는 일이 생기면서 프로그램을 유료로 이용해야 되는 상황에 봉착하였다. 이에 리누스 토르발즈는 BitKeeper를 유료로 이용하기 보다는 자신이 직접 버전 관리 시스템을 만드는게 낫다고 생각하여서 내놓은 툴이 Git이다. 버전 관리 시스템 (VCS; Version Control System) 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내..
Spring에서 의존성 주입(DI: Dependency Injection)을 하는 방법은 크게 3가지가 있다. 여기서 의존성 주입은 필요한 객체를 직접 생성하는 것이 아니라 외부에서 객체를 생성해서 넣어주는 방식이다. 1. Field Injection Field injection은 의존성을 클래스 멤버 필드로 직접 주입하는 방식으로 @Autowired, @Inject 같은 주입 어노테이션을 사용한다. 비교적 코드가 간결하다는 장점을 가지고 있지만 외부에서 접근이 불가능하다는 등의 여러 문제점을 가지고 있어서 Spring 공식 문서에서도 Field injection 말고 Constructor injection 방식을 이용할 것을 권장하고 있다. 이에 대한 자세한 이유는 뒤에서 살펴보자. @Controlle..
1. API란? API는 Application Programming Interface의 약자로 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다. 간단하게 말해서 요청과 응답을 사용하여서 두 애플리케이션을 서로 연결하여 통신하는 방법을 정의하는 것이 API이다. API의 역할은 아래와 같이 크게 3가지로 나누어 볼 수 있다. 1) 서버와 데이터베이스에 대한 출입구 역할 데이터베이스에는 중요한 정보들이 저장되기 때문에 접속을 통제해야 한다. API는 이를 방지하기 위해서 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다. 2) 프로그램끼리의 통신 가능 API는 스마트폰 어플이나 프로그램 등의 통신 매개체 역할을 수행한다..
목차 0. Abstract 1. Introduction 2. Deep Residual Learning 2.1 Residual Learning 2.2 Identity Mapping by Shortcuts 2.3 Network Architectures 2.4 Implementations 3. Experiments 3.1 ImageNet Classfication 3.2 CIFAR-10 and Analysis 3.3 Object Detection on PASCAL and MS COCO 0. Abstract 본 논문에서는 residual learning framework라는 개념을 제시함으로써 이전에 제안된 것보다 깊은 네트워크들도 더 쉽게 학습할 수 있도록 하였다. Residual network를 이용하는 것은..