딥러닝

논문 리뷰

[논문 리뷰] YOLOv10: Real-Time End-to-End Object Detection, Ao Wang, et al., 2024

YOLOv10: Real-Time End-to-End Object Detection, Ao Wang, et al., 2024 를 읽고 요약, 정리한 글입니다.github : https://github.com/THU-MIG/yolov10 ◼️contrbution- 기존 YOLO 아키텍쳐는 NMS에 대한 의존성이 높아 정확도는 향상시키지만 latency를 초래함.- 본 논문은 NMS 없는 YOLO 모델을 만들기 위해 이중 할당 전략을 제안하여 중복 예측 문제를 해결함.- 본 논문은 계산 중복을 줄이기 위해 lightweight classification head, spatial-channel decoupled downsampling, rank-guided block design을 포함한 아키텍쳐를 제안함. ..

논문 리뷰

[논문 리뷰] YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information, Chien-Yao Wang, et al., 2024

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information, Chien-Yao Wang, et al., 2024 을 읽고 요약, 정리한 글입니다. github : https://github.com/WongKinYiu/yolov9 ◼️ Contribution- 현존하는 심층 신경망 구조를 reversible fuction의 과점에서 이론적으로 분석하고 이러한 프로세스를 통해 이전에는 설명하기 어려웠던 많은 현상들에 대해 설명함.- 이러한 분석을 기반으로 PGI와 auxiliary reversible branch를 설계하고 좋은 결과를 얻음.- PGI는 deep supervision이 아주 깊은 신경망 구조에서만 사용할 수 ..

ML & DL

YOLO Model History | YoloV1 부터 YoloV10까지 간단 요약

Yolo 모델에 대해서 톺아볼 일이 있었는데 간단 요약 글을 포스팅 하면서 다시 한번 정리를 한번 해 보려고 한다. 객체 감지는 이미지나 비디오 내의 객체를 식별하고 위치를 찾는 computer vision task이다.객체 감지 알고리즘은 single shot detection과 two shot detection으로 나눌 수 있다. two shot detection 알고리즘은 객체를 감지하는데 두 단계 프로세스를 사용한다. 첫번째 단계에서는 잠재적으로 객체를 포함할 수 있는 bounding box를 제안을 한다. 두번째 단계에서는 box 내 객체 클래스를 분류하기 위해 제안된 영역을 합성 신경망을 통해 실행을 한다.two shot detection 알고리즘의 대표적인 예료는 R-CNN, Fast R-C..

ML & DL

[밑시딥2] Chapter 8. 어텐션

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다.  ◼️8.1 어텐션의 구조seq2seq를 한층 더 강력하게 하는 어텐션 메커니즘 아이디어를 소개한다.이 어텐션이라는 메커니즘 덕분에 seq2seq는 필요한 정보에만 주목할 수 있게 된다.  ◾ 8.1.1 seq2seq의 문제점seq2seq에서는 Encoder가 시계열 데이터를 인코딩한다. 인코딩된 정보를 Decoder로 전달하고 Encoder의 출력은 고정 길이의 벡터였다.고정 길이 벡터라 함은 입력 문장의 길이에 관계없이 항상 같은 길이의 벡터로 변환한다는 뜻이다.현재의 Encoder는 아무리 긴 문장이라도 고정 길이의 벡터로 변환하지만 이는 필요한 정보가 벡터에 다 담기지 못하..

ML & DL

[밑시딥2] Chapter 7. RNN을 사용한 문장 생성

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 7.1 언어 모델을 사용한 문장 생성◾ 7.1.1 RNN을 사용한 문장 생성의 순서앞 장에서의 LSTM 계층을 이용한 언어 모델은 아래 그림처럼 생겼다.  언어 모델은 다음과 같은 확률분포를 출력한다.언어 모델은 지금까지 주어진 단어들에서 다음에 출현하는 단어의 확률분포를 출력한다. 이 결과를 기초로 다음 생성하기 위해서는 확률이 가장 높은 단어를 선택하는 방법을 떠올릴 수 있다.확률이 가장 높은 단어를 선택할 뿐이므로 결과가 일정하게 정해지는 결정적인 방법이다. 또 확률적으로 선택하는 방법도 있다. 각 후보 단어의 확률에 맞게 선택하는 것으로 확률이 높은 단어는 선택되기 쉽..

ML & DL

[밑시딥2] Chapter 6. 게이트가 추가된 RNN

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. 요즘에는 앞 장의 단순한 RNN 대신 LSTM이나 GRU라는 계층이 주로 쓰인다. RNN이라고 하면 앞 장의 RNN이 아니라 LSTM을 가리키는 경우도 흔하다.LSTM이나 GRU에는 게이트라는 구조가 더해져 있는데 이 게이트 덕분에 시계열 데이터의 장기 의존 관계를 학습할 수 있다. ◼️ 6.1 RNN의 문제점RNN은 시계열 데이터의 장기 의존 관계를 학습하기 어렵다. BPTT에서 기울기 소실 혹은 기울기 폭발이 일어나기 때문이다. ◾ 6.1.1 RNN 복습RNN 계층은 시계열 데이터인 xt를 입력하면 ht를 출력한다. 이 ht는 RNN 계층의 은닉 상태라고 하여 과거 정보를 저장..

ML & DL

[밑시딥2] Chapter 5. 순환 신경망(RNN)

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 5.1 확률과 언어 모델◾ 5.1.1 word2vec을 확률 관점에서 바라보다지금까지 살펴본 신경망은 피드포워드라는 유형의 신경망이다. 피드포워드란 흐름이 단방향인 신경망을 말한다.입력 신호가 다음 층(중간층)으로 전달되고 그 신호를 받은 층은 그다음 층으로 전달하고 다시 다음 층으로.. 식으로 한 방향으로만 신호가 전달된다.시계열 데이터를 잘 다루지 못하는게 단점이기에 순환 신경망(RNN)이 등장하게 된다. CBOW 모델이 출력할 확률식은 다음과 같이 된다.위 식을 교차 엔트로피 오차에 의해 유도한 결과는 다음처럼 쓸 수 있다.CBOW 모델의 학습으로 수행하는 일은 위의 손..

ML & DL

[밑시딥2] Chapter 4. word2vec 속도 개선

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 4.1 word2vec 개선 1위 그림과 같이 CBOW 모델은 단어 2개를 맥락으로 사용해 이를 바탕으로 하나의 단어를 추측한다. 이때 입력 측 가중치와의 행렬 곱으로 은닉층이 계산되고 다시 출력 측 가중치와의 행렬 곱으로 각 단어의 점수를 구한다.이 점수에 소프트맥스 함수를 적용해 각 단어의 출현 확률을 얻고 이 확률을 정답 레이블과 비교하여 손실을 구한다. 위 그림에서 보듯 입력층과 출력층에는 각 100만 개의 뉴런이 존재한다. 이 수많은 뉴런 때문에 중간 계산에 많은 시간이 소요되며 다음 두 계산이 병목이 된다.- 입력층의 원핫 표현과 가중치 행렬 Win의 곱 계산.- ..

ML & DL

[밑시딥2] Chapter 3. word2vec

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요악한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 3.1 추론 기반 기법과 신경망단어를 벡터로 표현하는 방법은 통계 기반 기법과 추론 기반 기법이 있다. ◾ 3.1.1 통계 기반 기법의 문제점통계 기반 기법에서는 주변 단어의 빈도를 기초로 단어를 표현해왔으며 단어의 동시발생 행렬을 만들고 그 행렬에 SVD를 적용하여 밀집벡터를 얻었다.하지만 이 방식은 대규모 말뭉치를 다룰 때 문제가 발생한다. 어휘가 100만 개라면, 통계 기반 기법에서는 '100만x100만'이라는 거대한 행렬을 만드는데 이러한 행렬에 SVD를 적용하는 일은 현실적이지 않다.통계 기반 기법은 단 1회의 처리(SVD 등)만에 단어의 분산 표현을 얻는다.추론 기..

ML & DL

[밑시딥2] Chapter 2. 자연어와 단어의 분산 표현

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다.◼️ 2.1  자연어 처리란한국어와 영어 등 우리가 평소에 쓰는 말을 자연어라고 한다.자연어처리(Natural Language Processing, NLP)를 문자 그대로 해석하면 '자연어를 처리하는 분야'이고 우리의 말을 컴퓨터에게 이해시키기 위한 기술이다.  ◼️ 2.2 시소러스시소러스란 유의어 사전으로 '뜻이 같은 단어(동의어)'나 '뜻이 비슷한 단어(유의어)'가 한 그룹으로 분류되어 있다.자연어 처리에 이용되는 시소러스에서는 단어 사이의 '상위와 하위' 혹은 '전체와 부분' 등 더 세세한 관곆ㅏ지 정의해둔 경우가 있다. 모든 단어에 대한 유의어 집합을 만든 다음 단어들의 관계..

토오오끼
'딥러닝' 태그의 글 목록