Loading...
2024. 4. 22. 23:24

gray image의 channel은 1이 아니다

그냥 channel이 1이면 gray image이고 channel이 3이면 color image다 라고 생각해왔는데... 파이썬으로 gray image를 불렀을때 channel이 3인데 gray로 나오는 것 보고 갑자기 궁금증이 생겼다 핵심은 image의 channel이 3이면 각각 R,G,B pixel의 value값을 나타내는데, 이들이 합쳐져서 color image가 나온다. 그런데 R,G,B pixel의 value가 모두 동일하면 gray image가 나온다 먼저 color image를 보면 Image.open으로 열어서 torchvision.transforms.ToTensor()로 tensor로 바꾸면 from PIL import Image from torchvision import dataset..

2024. 4. 17. 23:13

object detection task, SPP Net, R-CNN, YOLO 간단하게 알아보기

1. Detection 이미지 안에서 원하는 물체에 대한 bounding box를 찾는 문제 가장 먼저 나온 해법으로 R-CNN이 있다 이미지 안에서 Selective search? 등으로 2000개 정도 region을 추출함. 적절하게 동일한 크기로 바꾸고 deeplearning(AlexNet)을 이용하여 feature map을 각각 추출함 그러면 각각에 대하여 svm등으로 무엇인지 분류하면 되겠지 2. SPP Net 처음 나온 R-CNN은 딱 보면 문제가 많았다. 예를 들면 2000개 Bounding box 찾는것도 일이고 , 1개의 input 이미지에 대해 2000개 각각을 deep learning하니까 2000번 돌려야 1개의 input 이미지에 대해 결과를 얻는다는 사실에 2000번 돌리는 것도..

2024. 4. 17. 22:21

딥러닝의 시대를 열었던 AlexNet

1. ILSVRC ImageNet에서 개최하는 이미지 빅데이터 대회 classification, detection, localization, segmentation 등 문제는 다양하다 2015년부터 인간을 이기는 알고리즘이 등장함 human의 점수는 이 논문에서 실험을 통해 적절하게 추정을 했나봄.. 이 대회에서 1등을 하는 딥러닝 알고리즘은 기본적으로 parameter 수를 점점 줄이면서 네트워크의 길이는 deep하게 하였다. 그러면서 학습 성능을 높였다 parameter 수는 줄이고 layer는 deep하게 하면서 performance를 높임 그러한 과정에서 1*1 conv를 적절하게 배치하는 아이디어 더 적은 크기의 kernel을 여러번 배치하면 큰 크기의 kernel을 적게 배치하는 것과 rece..

2024. 4. 16. 21:13

transformer 간단요약2 - encoder, attention, positional encoding, decoder

1. encoder encoder는 self attention 구조와 feed forward Neural Network 구조의 두개의 sub layer로 구성되어 있다 단어 입력의 경우에는 먼저 embedding vector로 변환하는 것이 기본이다. 당연하지만 word embedding은 맨 밑단 첫 입력에서만 일어남 벡터 크기는 hyperparameter로 적절하게 정한다고 한다. embedding된 벡터 각각은 자기만의 경로를 따라 encoder를 지나간다 위에서 보면 첫 통과 layer로 self attention을 지나가는데 도대체 무슨 일이 일어날까? 예를 들어보면 ‘The animal didn’t cross the street because it was too tired.’을 생각해보자. 이..

2024. 4. 16. 20:42

transformer 간단요약1 - transformer의 핵심 아이디어, 무엇을 이해해야하는가

1. sequential model의 어려운 점 sequence data가 다루기 어렵다는 이유 중 input의 차원이 어느 정도인지 알기 어렵다는 점이 있었다. 추가로 시간 순서가 바뀌어서 들어온다든지 일부가 잘려서 들어온다든지 아니면 섞여서 들어온다든지 그래서 또 다루기가 어렵다 2. transformer 핵심 아이디어 위와 같은 input의 무작위성 때문에 sequence data를 다루기 어렵다는 한계를 극복하고자 등장했다. 처음 도입되었을 때는 기계어 번역 문제를 풀기 위해 도입했다. 지금은 이미지 분류, detection 등 다방면에서 활용되고 있다. sequence를 다루는 모델인데 그 동안 RNN이 재귀적구조를 활용했다면 Transformer은 attention구조를 활용했다. 3. tra..

2024. 4. 15. 23:37

batch normalization 개념 간단하게

internal covariate shift 현상을 해결하기 위해 등장 layer를 지날수록 layer의 parameter의 변화에 따라 dataset의 분포가 변화한다고 생각한 것이다. 위와 같이 data가 layer를 지나가면서 분포가 변화한다고 생각한 것이 covariate shift 그런데 진짜있는 것인지는 논란이 많다 batch normalization은 각 layer마다 batch set을 normalization하여 분포의 변형을 막겠다는 것이다. batch의 평균과 분산을 구해서 각 입력값을 normalize 시킨다 마지막 $\gamma , \beta$는 normalize하면 activation의 nonlinearity를 잃어버리기 때문에 이를 조정하기 위함이고 학습해야하는 paramete..