전체 글

전체 글

    [ 딥러닝 최신 기술 ] - Adversarial Training, Data augmentation

    [ 딥러닝 최신 기술 ] - Adversarial Training, Data augmentation

    Adversarial Training 위와같이 어떤 판다에 대한 57.7%의 confidence를 가지는 결과에 0.007의 가중치를 주어 "nematode"라는 noise를 주어보았습니다. 그랬더니 결과물은 전혀 다른 결과인 "giboon"이라는 99.3%의 신뢰도를 가지는 결과가 나오게되었습니다. 이는 입력은 아주 조금 바뀌었으나, 출력이 매우 달라지며, 그때의 기울기가 매우 가파른 경우로 일종의 오버피팅 상태라고 할 수 있습니다. 이러한 현상을 생각해 일종의 노이즈를 섞어 학습을 진행한다면 이는 어떻게 보면 Regularization의 효과가 나오게 될 것입니다. 우리가 각 인풋을 노이즈를 섞어 $\epsilon$만큼 바꿀 때, $\epsilon\|w\|_{1}$변화한다고 할 수 있습니다. 이 때,..

    [ Database - Intermediate ] - DBCP ( DB connection pool) + hikariCP, MySQL

    [ Database - Intermediate ] - DBCP ( DB connection pool) + hikariCP, MySQL

    이번에는 제가 Spring boot에서 JPA를 다루면서 DB connection도 하고, 트랜잭션 요청을 통해 DB 접근을 많이 했었는데, 이에 대한 DBCP가 hikariCP라는건 알고 있었습니다. 하지만 이에 대한 정확한 원리에 대해 잘 알고 있지 않고, 매개변수와 같은걸 설정할 때에 주의해야 할 점이 무엇이 있는지에 대해 알아보고자 간단히 정리해봅니다. 그리고 해당 포스팅에서는 백엔드 애플리케이션으로는 SpringBoot와 DBCP로는 HikariCP, DB 서버로는 MySQL을 기준으로 설명하겠습니다. HikariCP max_connections max_connections는 말 그대로 client와 맺을 수 있는 최대 connection의 수입니다. 이가 중요한 이유가 위 그림처럼 Backen..

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - DETR: End-to-End Object Detection with Transformers

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - DETR: End-to-End Object Detection with Transformers

    Transformer는 주로 자연어 처리 분야에서 시작하여 뛰어난 성능을 보였습니다. 그 구조와 특성 때문에 이미지 처리 분야에서도 활용될 수 있다고 합니다. 그 이유는 아래와 같습니다. Self-Attention: Transformer의 가장 핵심입니다. 이는 입력 데이터의 모든 부분이 서로 상호작용하는 데에 도움이 됩니다. 이미지 분야에서, 이것은 모든 픽셀이 다른 모든 픽셀과 상호작용 할 수 있게 도와줍니다. 결과론 적으로 이는 전역적인 후보군을 NMS와 같은 preprocessor없이 후보군을 direct하게 추출할 수 있게 돕습니다. 병렬 처리: Transformer는 전체 시퀀스를 한 번에 처리합니다. 이것은 자연어 처리 작업에서 RNN과 비교하여 계산 효율성이 훨씬 뛰어나다는 것을 의미합니다..

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Transformer: Attention is all you need (NIPS, 2017)

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Transformer: Attention is all you need (NIPS, 2017)

    이번에는 DeTR을 읽기 위해 "Attention Is All You Need (NIPS, 2017)" 에서 소개된 Transformer에 대해 사전 지식으로서 알아가 보도록 하겠습니다. 먼저 논문과 함께 아래와 같은 자료들을 참고했습니다. https://wikidocs.net/31379 16-01 트랜스포머(Transformer) * 이번 챕터는 앞서 설명한 어텐션 메커니즘 챕터에 대한 사전 이해가 필요합니다. 트랜스포머(Transformer)는 2017년 구글이 발표한 논문인 Attention i… wikidocs.net How faster? 논문에서는 기존에 RNN모델을 사용하지 않음으로써 Transformer를 기존의 자연어 처리 분야에서 더 뛰어난 성능을 내게 할 수 있었다고 합니다. 즉 어떻게..

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - seq2seq, Attention, teacher forcing

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - seq2seq, Attention, teacher forcing

    English and Korean has different word order "I love you" 라는 언어를 한국어로 번역하는 가장 간단한 방법은 "Nan saranghey nul" 이렇게 바꾸는 것입니다. 이는 Input과 Prediction을 그냥 순서대로 1:1 매칭시켜주면 되는 것이겠죠. 하지만 "난(Nan) 사랑해(saranghey) 널(nul)"은 뭔가 좀 이상합니다. SVO순서를 SOV를 아래와같이 바꿔줘야 할거 같습니다. output always have same word count with input, while it should not 또한 위와같이, "How are you"를 번역하면 "Jal jiney?"로 바뀌어질 수 있는데, 단어의 카운트가 다릅니다. 즉 단어별로의 번역은 ..

    [ 논문리뷰 - PRMI Lab ] - RNN, LSTM

    [ 논문리뷰 - PRMI Lab ] - RNN, LSTM

    오늘은 경북대학교 PRMI Lab 2023 - summer project를 수행하기 위해, DeTR이라는 논문을 읽고 직접 구현해보기 위해, 사전적으로 읽어야 하는 개념들에 대해 간단히 정리해보겠습니다. 이들은 엄청 오래전에 소개된 논문에서 나온 개념이고 대부분의 SOTA모델들은 DeTR이나 BERT, GPT등의 encoder, decoder 기반이라고 합니다. 하지만 RNN, LSTM, Attention등의 개념이 발전되어서 해당 모델들이 등장하게 된 것이므로, 알아두어야 겠다고 생각해서 한번 정리해보겠습니다. Sequence is important for POS tagging 우리에게 "I work at google", "I google at work" 이라는 단어가 있다고 해 봅시다. 여기에서의 의..

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Mask R-CNN (ICC, 2017)

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Mask R-CNN (ICC, 2017)

    Mask R-CNN은 기존 object detection task에서 사용되던 Faster R-CNN에 Mask branch를 추가해서 classification, bbox regression, predicting object mask를 동시에 처리하는 모델입니다. FPN ( Feature Pyramid Network) FPN은 Mask R-CNN에서 어떻게 쓰이는지에 관련해서 간단히 살펴보겠습니다. faster rcnn과는 다르게 여러개의 feature map이 생성되고, 각각의 feature map에 맞는 RoI가 생성되는 것을 아래 그림에서 확인할 수 있습니다. 이는 기본적으로 Bottom-up pathway, Top-down Pathway, Lateral connections를 통해 다양한 크기의..

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Fully Convolutional Networks for Semantic Segmentation (CVPR 2015)

    [ 딥러닝 논문 리뷰 - PRMI Lab ] - Fully Convolutional Networks for Semantic Segmentation (CVPR 2015)

    Instance segmentation Mask R-CNN의 task인 Instance segmentation이 뭔지 알아야 합니다. 이는 영상/이미지에서 의미있는 부분들을 구별해내는 기술을 이야기합니다. 이미지를 영역별로 나눠준 후, 각 개체에 맞게 합쳐주는 task를 얘기합니다. object detection, classification과 같은 task들과 비교해봤을 때, 정확하게 개체들의 경계선까지 추출해 의미있는 영역들로 나누어져야하므로 더 어려운 작업에 속합니다. 그리고 이는 semantic과 instance로 나뉩니다. Sementic segmentation 위 사진과 같이 segmentation을 진행할 때, class가 같다면 구분하지 않고 같은 영역 혹은 색으로 분할합니다. 같은 클래스의..

    [ 딥러닝 논문리뷰 - PRMI Lab ] - SPP-net, Fast R-CNN, Faster R-CNN

    [ 딥러닝 논문리뷰 - PRMI Lab ] - SPP-net, Fast R-CNN, Faster R-CNN

    Before Fast R-CNN 우선 기존의 R-CNN 방식의 일련의 과정은 위와 같습니다. Image가 있으면 여기서 Selective Search 알고리즘을 통해서 Regional Proposal을 진행해서 후보 Bounding box 영역을 선택합니다. 그리고 Pre-trained된 AlexNet(= CNN) 구조에 넣기 위해 crop을 하고 최종적으로 227x227로 warped image를 생성해 냅니다. 그리고 CNN에 투입된 결과로 Conv features 즉 특징 백터를 생성해 내고 이를 linear SVM 모델에 넣어서 최종 분류를 한 후, 마지막으로 Bounding box regression을 통해 bounding box의 위치를 결정하는 일련의 작업이 R-CNN의 과정이였습니다. 이러..

    [ Database - Intermediate ] - 파티셔닝, 샤딩, 래플리케이션

    [ Database - Intermediate ] - 파티셔닝, 샤딩, 래플리케이션

    Partitioning 파티셔닝은 말 그대로 테이블을 자르는 작업이라고 보면 됩니다. 이에 대한 종류로는 위와같이 vertical, horizontal partitioning이 있습니다. 우선 vertical partitioning 먼저 보겠습니다. vertical partitioning 이는 그리 어렵지 않습니다. 우리가 쭉 해오던 BCNF와 같은 normalization이 결국에는 column을 기준으로 table을 나눈 것이 되므로 vertical partitioning이 됩니다. 하지만 이는 정규화만 있는 것이 아닙니다. 우리는 위와같이 Article에 대한 예시를 들 수 있겠습니다. 해당 테이블로부터 위 쿼리문을 통해 게시물들을 조회해올 겁니다. 하지만 실제로는 content 값이 필요 없어서 ..