전체 글

현서의 개발 일지📚

    [ 딥러닝 구현 - PRMI Lab ] - 트랜스포머(Transformer)의 구현

    [ 딥러닝 구현 - PRMI Lab ] - 트랜스포머(Transformer)의 구현

    Self-attention vs CNN vs RNN 위의 그림에서 computation power를 비교하고 있습니다. Self-attention이 per layer마다 computation complexit가 O(n2d˙가 나오게 되는데, 여기서 n은 시퀀스의 길이, d는 인풋, 아웃풋 채널(size)라고 가정합니다. k는 커널 사이즈입니다. 그 이유는 Query, key, Value들은 [n, d]의 매트릭스일 것입니다. 바나다우 어텐션이 아니라 로웅 어텐션(=dot-attention)이라면 [n, d] matrix가 [d, n]과 곱해져 [n, n] matrix를 만들것이기 때문이죠. 그리고 Sequence operation은 O(1)로서 모든 토큰이 동시에작동합니다. 그리고 ..

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - Generative model + Embedding (WaveNet., PixelCNN++, Self-Attention, Auto-Encoder, Bag, Word2Vec)

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - Generative model + Embedding (WaveNet., PixelCNN++, Self-Attention, Auto-Encoder, Bag, Word2Vec)

    이번에는 트랜스포머를 구현하기 전에, 최종적으로 개념 정리를 하려고 합니다. 먼저 개념을 간단히 훑겠습니다. Auto-encoder 오토인코더(Auto-Encoder)는 신경망의 한 종류로, 비지도 학습 방법에 속합니다. 입력 데이터의 압축된 표현을 학습하고, 이를 다시 입력 데이터와 같은 크기로 복구해내는 것이 목표입니다. 대표적으로 U-net이 있고, DeConvNet도 예로 들 수 있습니다. 이는 입력 데이터의 압축된 표현을 학습하면서, 그 표현을 이용해 원본 입력 데이터를 재구성하는 능력을 취득하게 됩니다. 이렇게 학습된 오토인코더는 차원 축소, 노이즈 제거, 특성 추출 등 다양한 용도로 활용될 수 있게 됩니다. Sequence-to-Sequence에서의 임베딩(embedding) 위와같이 seq..

    [ 딥러닝 구현 - PRMI Lab ] - LSTM Based seq2seq model, Attention Based GRU seq2seq model

    [ 딥러닝 구현 - PRMI Lab ] - LSTM Based seq2seq model, Attention Based GRU seq2seq model

    동기 CNN의 다양한 모델들에 대해 공부하면서, RNN과 관련된 시계열 데이터 관련 모델 뿐만 아니라 생성형 모델, 자연어 처리등에 대한 사전 지식의 필요성을 느꼈습니다. DETR을 공부하면서 Panoptic Segmentation을 구현할 할 때에, Transformer(="2017 Attention is all you need")가 활용되는 것만 해도 알 수 있죠. 그리고 교수님 말로는 요즘 모델은 CNN이 단독으로 쓰이는게 아니라 다양한 분야의 모델들이 결합해서 더 좋은 성능 혹은 발견을 하게 된다면 그것이 논문으로 나오게 되는 것이라고 하셨습니다. 그리고 대부분의 CV 분야의 SOTA모델에 Transformer이 들어갈 정도로 매우 중요한 모델이기 때문에, 그 기초가 되는 seq2seq모델에서 하..

    [ 딥러닝 코드 실습 - PRMI Lab ] - CNN의 구현 + EfficientNet Transfer learning

    [ 딥러닝 코드 실습 - PRMI Lab ] - CNN의 구현 + EfficientNet Transfer learning

    이번에는 PyTorch로 ResNet, VGGNet등을 구현해 보았었는데, 가장 기본적인 CNN 뼈대를 체계적으로 구축하는 방법을 정리할 것입니다. 그리고 이를 바탕으로 EfficientNet-b1을 아래 git에서 다운 받은다음에, Transfer learning을 통해 Fine-tune을 해서 직접 우리가 구축한 모델과 성능을 비교해보는 시간을 가져보도록 하겠습니다. https://github.com/lukemelas/EfficientNet-PyTorch GitHub - lukemelas/EfficientNet-PyTorch: A PyTorch implementation of EfficientNet and EfficientNetV2 (coming soon!) A PyTorch implementatio..

    [ 딥러닝 최신 알고리즘 - PRMI Lab ]  - CNN의 응용 (R-CNN계열, YOLO., SSD., FPN., RetinaNet., EfficientDet., FCN., DeConvNet., UNet., SegNet.,.. )

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - CNN의 응용 (R-CNN계열, YOLO., SSD., FPN., RetinaNet., EfficientDet., FCN., DeConvNet., UNet., SegNet.,.. )

    CNN의 응용분야에는, 이전에 포스팅이서도 다루었지만 Object classification, Object detection, Sementic segmentation, Inst ance segmentation,.. 등등이 있었습니다. 말 그대로 물체 분류, 객체 탐색, 의미론적 분할, 인스턴스 분할입니다. 여기에는 R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN, FPN,.... 등등 많은 응용 네트워크등이 있었습니다. 이번에는 이러한 흐름에 제가 다루지 않았던 네트워크를 포함해서 흐름을 타고타고 들어가서 CNN 응용분야의 트렌드를 한눈에 알아보겠습니다. 좋은 Object proposal 방식 좋은 Object proposal 방식이란, Localization시 bottle..