본문 바로가기

Programmer Jinyo/Machine Learning

(25)
U-Net 논문 내용 정리 및 설명 이번에 정리할 논문은 의료 영상/이미지 segmentation에서 많이 쓰이는 모델 구조의 시초가 된 U-Net : Convolutional Networks for Biomedical Image Segmentation 이다. U Net 은 , 단순히 이미지를 classification 하는 문제를 넘어서서 이미지의 특정 영역을 Label 로 표현하는 image segmentation하는 것에 주된 목적이 있는 모델이다. 기존의 모델들에 비해서 개선된 점은 크게 두 가지다.1. 속도가 빠르다- sliding window보다 빠르게 patch 방식을 채택하여, 이미지를 전부 조금씩 잘라서 훑어보는것이 아니라, 이미지 전체를 격자 모양으로 잘라서 한번에 인식한다. 2. Patch의 사이즈에 따른 trade o..
Imagenet LSVRC2012 Dataset 다운받기 * classification 을 위해 imagenet 데이터를 다운받고 처리하는 과정입니다.* bounding box 등의 추가적인 데이터를 받고 싶으시다면http://hpkim0512.blogspot.com/2017/12/sdf.html 위 링크를 참고하세요! 1. 이미지넷 데이터셋 다운받기. Training set (138G) wget http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_train.tar * 오래 걸리므로 nohup wget http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_train.tar &로 백그라운드에서 다운받는것도 가능. (몇일 걸..
DenseNet 설명 및 PyTorch로 구현해보기 * 이 글은 기본적인 CNN 모델에 대한 이해가 있는 독자를 대상으로 작성 되었습니다. DenseNet 설명을 들어가기에 앞서 * Notation 정의 설명하자면, x_0은 input 이미지를 의미하고, Layer 개수는 L , H_l( ) 은 l번째 레이어의 합성함수 ( Conv -> ReLU -> BN 따위의) 를 의미하며, 그 l번째 레이어의 output은 x_l로 표시하도록 한다. * ResNets 전통적인 Convolution Network의 모델을 식으로 표현 해 보자면 이라고 할 수 있다. 이전 레이어에서 Conv layer을 포함한 합성함수의 Output을 다음 레이어로 넘기는 형태이다. ResNet은 기존 Conv layer가 너무 많이 쌓이게 되면 필터를 너무 많이 거치게 되어서 모델이..
Pytorch 초보를 위한 튜토리얼 강의 1 ( linear regression, SVM Loss Function) 이 글은 2018/06/29 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 4 ( linear classification , SVM Loss Function)에서 이어진다. 이번 글에서는 Linear classifier을 SVM Loss와 함께 Pytorch를 이용해 구현해보도록 하겠다. ( 이 글에서는 train data, test data, validation data를 따로 나누지 않고 하나의 데이터로 진행한다. 사전 지식이 있는 독자들의 경우에는 특이하다고 느낄 수 있겠지만, 기본적인 사용법을 배우는 것이 목적인 데다가, 아직 해당 부분을 이론적으로 다루지 않아서 그렇다. ) Pytorch Pytorch는 Python상에서 돌아가..
머신러닝,딥러닝 초보를 위한 튜토리얼 강의 4 ( linear classification , SVM Loss Function) 2018/06/30 - [전체보기] - Pytorch 초보를 위한 튜토리얼 강의 1 ( linear classification , SVM Loss Function) 2018/06/28 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 3 ( Supervised Unsupervised Learning , Classification , Regression ) 지난 글에서는 Classification과 Regression이 무엇인지에 대해서 알아보았다. 그리고 Classification이나 Regression을 수행할 때, 많은 이름을 가진 모델들과 이를 어떻게 적용시킬 것인지에 대한 방법론이 존재한다. 많은 이름들 종류의 예로, Linear M..
머신러닝,딥러닝 초보를 위한 튜토리얼 강의 3 ( Supervised Unsupervised Learning , Classification , Regression ) 2018/06/29 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 4 ( linear classification , SVM Loss Function) 2018/06/27 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 2 ( Cost Function , Gradient Descent ) 이번 글을 읽기에 앞서서 이전 강의에서 정리 한 것들을 복습하자. Y_predict, 다른말로 H( x ) 함수 ( H( x )의 H는 Hypothesis , 가설 의 약자이다.) - 우리가 만든 가설함수 (즉 우리가 만든 예측모델) Cost function - 함수와 실제 데이터의 차이를..
머신러닝,딥러닝 초보를 위한 튜토리얼 강의 2 ( Cost Function , Gradient Descent ) 2018/06/27 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 1 ( 머신러닝이란? )2018/06/28 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 3 ( Supervised Unsupervised Learning , Classification , Regression ) 저번 글에서 우리는 머신러닝이라는게 대략 뭔지에 대해서 알아봤다. 그리고 어떤 것을 학습시키는 것인지에 대해서도 알아볼 수 있었다. 리마인드 하자면 -> 목적을 가진 식을 설계하고-> 그 식의 파라미터를 학습한다. 그렇다면 이제 '어떻게' 가 남아있는데, 이 방법을 우리는 Cost Function..
머신러닝,딥러닝 초보를 위한 튜토리얼 강의 1 ( 머신러닝이란? ) 2018/06/27 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 0 ( Intro )2018/06/27 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 2 ( Cost Function , Gradient Descent ) 첫 번째 글인 만큼 기본적인 부분들에 대해서 언급하고 시작하려고 한다. 기계가 뭘 어떻게 학습을 한다는 것일까? 정말 애매한 말이지 않은가? 생명체가 아닌것이 무언가를 배울 수 있도록 어떻게 만들어 내는 것일까? 그러니까 결국 머신러닝이란 어떤식으로 이루어 지는 것일까? - 인터넷에서 많은 글들을 읽으면서 제일 짜증날 때가 바로 '쉽게 말해서 ~~~ 이..