1) 강의 복습 내용 0. Deep Learning 개요 https://ltsgod.tistory.com/91 0. Deep Learning 개요 1) Deep Learning 의 중요한 요소 1. data 2. model 3. loss 4. algorithm(optimizer) 2) Deep Learning 의 굵직한 사건들 Alexnet - 2012 DQN - 2013 Adam - Optimizer - 2014 Generative Adversal Network - 2015 Residual Networks - 2015 깊게 층을 쌓 ltsgod.tistory.com https://ltsgod.tistory.com/95 Optimizer 0) Gradient Descent(경사 하강법) Gradient ..
0) Sementic Segmentation - pixel 단위로 분류하는 것 - 기본적으로 같은 class인데 서로 다른 물체는 구분하지 않음. 1) Sementic Segmentation Architectures AlexNet 같은 fully-connected Layer의 문제점 1. 입력이 바뀌면 fc에서의 차원이 바뀌어 호환되지 않는다. 예를 들어 만약 100 * 100의 이미지가 input으로 들어가 학습된 network가 있다면 test시 200 * 200 의 이미지가 들어간다면 fc layer에서 차원이 맞지 않게 된다. 반면 FCN은 특정해상도에서 학습되어도 test할 때는 임의의 차원의 이미지를 사용할 수 있다. 2. image의 공간정보가 저장되지 않는다. 왜냐하면 1개의 vector로..
어떻게 하면 사람의 시각을 컴퓨터로 구현할 수 있을까?? 전통적인 방법 Input - Feature extraction - Classification - Output Deep Learning Input - Feature extraction + Classification - Output Deep Learning을 이용하면 더이상 Feature Extraction을 사람이 할 일이 없다. 1) CV task에서 CNN을 사용하는 이유 0. K-NN 알고리즘 - K개의 이웃의 data를 보고 그 중 가장 가까운 곳에 속해있는 data로 분류하는 알고리즘. 검색 알고리즘이라고 할 수 있다. 만약 모든 data를 가지고 있다면 KNN을 통해 분류할 수 있을 것이다. (검색문제로 치환가능) 하지만 KNN의 문제점은..
1) Data augmentation 우리가 얻는 dataset엔 대부분 bias가 있다. 왜냐하면 실제 data 분포보다 우리가 얻는 data는 일부분에 불가하기 때문이다. 이러한 편향이 좋지 않은 이유는 다음과 같다. 만약 낮에 찍은 고양이 사진만 넣어서 학습시키고 어두운 고양이 사진을 넣는다면 network는 좋은 결과를 주지 못한다. 한번도 training 단계에서 보지 못한 data이기 때문이다. 이는 data가 실제의 모든 data 분포를 커버하지 못해서 나온결과이다. 그렇다면 이 빈 공간을 어떻게 채우면 좋을까?? 이 때 Data Augmentation을 사용하면 data의 빈 공간을 어느정도 커버할 수 있다. Crop 한더던지 Rotate한다던지의 방법을 통해 말이다. 앞의 예에서 어두운 ..
1) Semantic Segmentation 이미지의 모든 pixel이 어떤 label에 속하는지 다루는 것. 지금까지 배운 CNN의 구조는 input이 들어오면 convolution 연산을 하고 그 후 denselayer를 통과해서 결과를 보는 식이었다. 그런데 이러한 dense layer의 연산을 convolution 연산으로 바꿔서 할 수 있다. 그래서 나온것이 fully Convolutional Network이다. 이러한 Dense layer를 없애는 과정을 convolutionalization이다. 하지만 Convolution layer로 바꾼다고 하더라고 파라미터의 수에는 변화가 없다. 왜냐하면 Convolution 연산을 하더라도 바뀐 것은 없는것이다. 왜냐하면 10 x 10 x 3 짜리 를..
기본적으로 3개의 채널의 convolution 연산을 하게 되면 28 * 28의 한개의 채널이 나오게 된다. 만약 여러개의 채널을 만들고 싶다면 여러개의 filter를 만들어서 convolution 연산을 하면 된다. Convoution에서의 parmeter의 갯수는 filter의 parameter수가 된다. CNN은 Convolution, pooling layer, Fully connected layer로 이루어져 있다. Convolution과 pooling layer는 유용한 정보를 추출하는 역할을 하고 Fc는 마지막 decision making을 담당한다.(ex classification) 1 X 1 Convolution 연산 1 * 1이라는 것은 영역을 보는것이 아니라 한 pixel만 보는것이다...