분류 전체보기 27

[Paper Review] R-CNN

뜬금없이 오래된 R-CNN을 리뷰하는 이유는 블로그에 기초부터 정리하기 위해서이다. 읽는 순서는 서베이 논문인 Object Detection in 20 Years: A Survey 를 참고하여 읽을 것이다. 서베이 논문 : https://arxiv.org/pdf/1905.05055.pdf%C2%A0%EF%BC%88PS 논문 : https://arxiv.org/pdf/1311.2524.pdf 첫 번째로 리뷰할 논문은 ILSVRC 2013 대회 Object Detection 분야에서 AlexNet을 기반으로 높은 성능을 보인 R-CNN 논문이다. R-CNN은 지금 보면 굉장히 비효율적이지만 Object Detection 분야에서 딥러닝 모델의 시작을 알렸다는 점에서 굉장히 큰 의미가 있는 논문이다. 논문에서..

Paper Review 2022.11.10

[Paper Review] Revisiting Skeleton-based Action Recognition

논문 : https://arxiv.org/pdf/2104.13586.pdf 최근 행동 인식 분야에서 C3D 계열 모델이 높은 성능을 보여서 간단하게 정리를 해보려고 합니다. 논문에서는 행동 인식 분야에서 높은 성능을 보였던 Graph Convolution 기반이 아닌 관절 히트맵을 대상으로 3D Convolution을 진행하여 행동을 인식한다. 논문에서 제안하는 프레임워크의 구조는 다음과 같다. 입력받은 이미지에서 사람을 검출하고, 검출된 영역에 대해서 각 관절의 히트맵을 뽑는다. 각 프레임별로 추출된 히트맵을 쌓아 3D Heatmap Volume을 만들고 Convolution layers를 통과시켜 행동을 분류한다. 3D Heatmap Volume 논문의 핵심이 되는 3D Volume Heatmap은 ..

Paper Review 2022.11.08

[Deep Learning] 활성화 함수의 종류

내키는 대로 쓰는 글이라 두서가 없으며, 딥러닝 프레임워크에서 1줄 짜리 코드를 제공하기 때문에 샘플 코드 또한 없습니다. 2022.11.02 - [Deep Learning] - [Deep Learning] 활성화 함수 지난 글에서는 활성화 함수란 무엇이고 왜 사용하는가에 대해서 작성했습니다. 비선형성 확보를 위해 활성화 함수를 넣는다는 것은 알았으니 그럼 활성화 함수에는 어떤 종류가 있는지를 정리하려고 합니다. 순서는 다음과 같습니다. 시그모이드 함수 (Sigmoid function) 하이퍼볼릭 탄젠트 (tanh function) 소프트맥스 함수 (Softmax function) ReLU (ReLU function) 시그모이드 (Sigmoid function) 가장 먼저 살펴볼 것은 시그모이드 함수다...

Deep Learning 2022.11.07

[Deep Learning] 활성화 함수

내키는 대로 쓰는 글이라 두서가 없습니다. 활성화 함수란 무엇인가? 활성함수는 인공 신경망에서 입력을 변환하는 함수이다. ReLU, Sigmoid, tanh 함수 등이 대표적인 활성함수이다. 출처 : https://ko.wikipedia.org/wiki/%ED%99%9C%EC%84%B1%ED%95%A8%EC%88%98 위키백과에서는 신경망에서 입력을 변환하는 함수라고 정의를 하고 있다. 그렇다면 왜 입력을 변환해야 할까? 그 이유는 비선형성에 있다. 신경망에서 말하는 비선형성은 출력의 변화가 입력의 변화에 비례하지 않는 성질을 말한다. 쉽게 말하면 신경망의 출력이 입력의 상수인가 아닌가로 생각해도 괜찮을 것 같다. 그렇다면 왜 신경망에 비선형성이 필요한가는 간단한 논리연산인 AND, OR, XOR을 살펴..

Deep Learning 2022.11.02

[Coding Test] 2022 KAKAO BLIND RECRUITMENT - 주차 요금 계산

문제해결 프로그래밍 공부를 위해 2022 KAKAO BLIND RECRUITMENT 코딩 테스트 문제 리뷰를 진행하고자 합니다. 문제는 https://school.programmers.co.kr/learn/challenges?page=1&partIds=25448 에서 풀어볼 수 있습니다. 두번 째로 풀어볼 문제는 58%의 정답률을 보이는 신고 결과 받기입니다. 지난번 풀었던 신고 결과 받기보다 레벨은 높은데 정답률은 높은 문제입니다. 그럼 바로 문제를 풀어보겠습니다. 문제 설명은 다음과 같고 요약하자면 요금표와 차량들의 입/출차기록이 주어졌을 때 차량 별로 요금을 계산하는 문제입니다. 주의할 점은 출차기록이 없는 차에 대해서는 23:59로 출차처리를 해야한다는 점과 동일한 번호판에 대해서 각각의 입/출차..

[Coding Test] 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기

문제해결 프로그래밍 공부를 위해 2022 KAKAO BLIND RECRUITMENT 코딩 테스트 문제 리뷰를 진행하고자 합니다. 문제는 https://school.programmers.co.kr/learn/challenges?page=1&partIds=25448 에서 풀어볼 수 있습니다. 가장 먼저 풀어볼 문제는 32%의 정답률을 보이는 신고 결과 받기입니다. 문제 설명은 다음과 같습니다. 입출력 예시는 다음과 같습니다. 요약하자면 이용자A가 신고한 이용자B가 정지기준에 도달하면 이용자A의 카운트를 증가시키면 되는 간단한 문제입니다. 이 때 중복된 유저의 신고는 1회로 처리할 것. 바로 문제를 풀어보겠습니다. 변수는 이용자의 ID가 담긴 문자열 배열 id_list, 각 이용자가 신고한 이용자의 ID 정보..

[Solved Error] RuntimeError: Expected 4-dimensional input for 4-dimensional weight 64 3 7 7, but got 3-dimensional input of size [3, 224, 224] instead

학습시킨 딥러닝 모델을 테스트 하려고 하니 아래와 같은 에러가 발생한다. RuntimeError: Expected 4-dimensional input for 4-dimensional weight 64 3 7 7, but got 3-dimensional input of size [3, 224, 224] instead 전처리 과정을 그대로 적용했는데 뭐가 문제일까 생각해보니 학습을 시킬때는 배치단위로 넘겼던 데이터를 테스트 단계에서는 1장 단위로 입력해서 그런 것 같다. 아래와 같이 차원을 늘려서 모델에 입력해주니 정상적으로 작동하였다. output = model(data[None, ...])

History 2022.09.21