반응형

전체 글 823

[논문 구현] PyTorch로 ResNet(2015) 구현하고 학습하기

이번 포스팅에서는 PyTorch로 ResNet을 구현하고 학습까지 해보겠습니다. 논문 리뷰는 여기에서 확인하실 수 있습니다. [논문 읽기] ResNet(2015) 리뷰 이번에 읽어볼 논문은 ResNet, 'Deep Residual Learning for Image Recognition' 입니다. ResNet은 residual repesentation 함수를 학습함으로써 신경망이 152 layer까지 가질 수 있습니다. ResNet은 이전 lay.. deep-learning-study.tistory.com 전체 코드는 여기에서 확인하실 수 있습니다. github.com/Seonghoon-Yu/paper-implement-in-pytorch 작업 환경은 구글 코랩에서 진행했습니다. 1. 데이터셋 불러오기 데..

논문 구현 2021.03.18

[논문 읽기] ResNext(2017) 리뷰, Aggregated Residual Transformations for Deep Neural Networks

이번에 읽어볼 논문은 Aggregated Residual Transformations for Deep Neural Networks 입니다. ResNext는 ILSVRC 2016 대회에서 2등을 차지한 모델입니다. 1등 팀인 Trimps-Soushen은 Inception-v3, Inception-v4, Inception-ResNet-v2, ResNet-200, WRN-68-3 5가지 모델을 적절히 양상블하여 1위를 달성했다고 하네요. 3등은 다음 포스팅에서 리뷰할 PolyNet입니다. ResNext ResNext는 ResNet의 bottle neck을 아래 그림과 같이 수정한 것입니다. 왼쪽은 ResNet의 BottleNeck이고, 오른쪽은 ResNext의 BottleNeck 입니다. ResNext의 Bo..

[논문 읽기] MobileNet(2017) 리뷰, Efficient Convolutional Neural Networks for Mobile Vision Applications

이번에 읽어볼 논문은 MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Application 입니다. MobileNet은 Depthwise separable convolution을 활용하여 모델을 경량화했습니다. Xception은 Depthwise separable convolution을 활용하여 감소한 파라미터 수 많큼 층을 쌓아 성능을 높이는데 집중했는데요. MobileNet은 반대로 경량화에 집중합니다. MobileNet이 경량화에 집중한 이유는 핸드폰이나 임베디드 시스템 같이 저용량 메모리환경에 딥러닝을 적용하기 위해서는 모델 경량화가 필요하기 때문입니다. 메모리가 제한된 환경에서 MobileNet을 최적으로 맞추기 위해 ..

[파이썬 알고리즘 인터뷰] 39. 코스 스케줄

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브 39. 코스 스케줄 leetcode 207. Course Schdule 문제입니다. leetcode.com/problems/course-schedule/ 풀이 코스를 그래프로 만들고, 그래프가 순환 그래프인지 판단하는 풀이입니다. def canFinish(self, numCourses,prerequisites): graph = collections.defaultdict(list) # 그래프 구성 for x, y in prerequisites: graph[x].append(y) traced = set() visited = set() def dfs(i): # 순환 ..

Python/알고리즘 2021.03.18

[MML] Ch 2.4 벡터 공간(Vector Spaces)

Mathematics for Machine Learning를 공부하고 정리한 포스팅입니다. 2.4 벡터 공간(Vector Spaces) 지금까지 연립 밪엉식을 살펴보았고, 어떻게 푸는지를 알아보았습니다. 연립 방정식은 행렬로 간단히 표현할 수 있다는 것을 확인 했습니다. 이제, 벡터로 이루어지는 벡터 공간에 대해 살펴보겠습니다. 이 책 초반부에 벡터는 덧셈과 스칼라 곱이 가능한 객체로 특징지었습니다. 그리고 두 조건을 만족하면 동일한 객체로 간주했었습니다. 이제 이것을 공식화하고 벡터 집합의 요소와 이 요소들로 정의되는 연산을 살펴보겠습니다. 2.4.1 군(Groups) 군에 대한 내용이 나오는데 읽어봐도 잘 모르겠습니다. 2.4.2 벡터 공간(Vector Spaces) 벡터 공간은 두 벡터의 덧셈과 스..

[논문 읽기] Xception(2017) 리뷰, Deep Learning with Depthwise Separable Convolutions

이번에 읽어볼 논문은 Xception: Deep Learning with Depthwise Separable Convolutions 입니다. Xception은 Inception 모듈에 대한 고찰로 탄생한 모델입니다. Xception은 완벽히 cross-channel correlations와 spatial correlations를 독립적으로 계산하기 위해 고안된 모델입니다. 이를 위해 세로운 Inception 모듈을 제안합니다. cross-channel correlation와 spatial correlation이 무엇인지 기존 Inception 모듈을 살펴보면서 알아보겠습니다. 1. Inception hypothesis Inception 모듈에 대한 저자의 해석입니다. 흥미롭게 읽었네요. 아래 그림은 In..

[논문 읽기] DenseNet(2017) 리뷰, Densely Connected Convolutional Networks

이번에 읽어볼 논문은 DenseNet, 'Densely Connected Convolutional Networks'입니다. DenseNet은 ResNet과 Pre-Activation ResNet보다 적은 파라미터 수로 더 높은 성능을 가진 모델입니다. DensNet은 모든 레이어의 피쳐맵을 연결합니다. 이전 레이어의 피쳐맵을 그 이후의 모든 레이어의 피쳐맵에 연결합니다. 연결할 때는 ResNet과 다르게 덧셈이 아니라 concatenate(연결)을 수행합니다. 따라서 연결할 때는, 피쳐맵 크기가 동일해야 합니다. 피쳐맵을 계속해서 연결하면 채널수가 많아질 수 있기 때문에, 각 레이어의 피쳐맵 채널 수는 굉장히 작은 값을 사용합니다. 이렇게 연결하면 어떤 장점이 있을까요? 1. strong gradient..

[MML] ch 2.3 연립 방정식의 해(Solving Systems of Linear Equation) -2

Mathematics for Machine Learning를 공부하고 정리한 포스팅입니다. 2.3.2 기본 행 연산(Elementary Transformations) 연립 방정식을 풀기위한 핵심은 기본 행 연산(elementary transformation)입니다. 기본 행 연산은 정답을 변화시키지 않고 연립방정식을 간단한 형태로 변환합니다. 기본 행 연산에는 세 가지가 있습니다. (1) 두 행을 교환하기(행렬에서 행은 방정식을 나타냅니다. (2) 행에 상수를 곱하기 (3) 서로 다른 두 행을 더하기 행렬에 기본 행 연산을 거쳐서 행 사다리꼴(row-echelon form)으로 바꾸면 특이해와 일반해를 쉽게 구할 수 있습니다. 다음 예제를 통해 살펴보겠습니다. 위 연립 방정식을 첨가행렬(augmented..

[논문 읽기] PyramidNet(2017) 리뷰, Deep Pyramidal Residual Networks

이번에 소개할 논문은 PyramidNet, Deep Pyramidal Residual Networks 입니다. 저자는 Kaist대학의 Dongyoon Han님입니다. 한국 대학교가 등장하니 가슴이 벅차 오르네요..!! 일반적으로 CNN 모델은 pooling layer에서 memory 사용을 감소하고 고차원의 특징을 추출하기 위한 down-sampling 연산을 수행하고, filter 수를 급격히 증가시킵니다. 이는 고차원 정보의 다양성을 증가시키기 때문에 모델의 성능을 향상시킵니다. PyramidNet은 down-sampling을 수행할 때, filter 수를 급격히 증가시키는 대신에, 가능한한 모든 위치에서 점진적으로 filter수를 증가시킵니다. 그리고 이 방법은 모델의 일반화 성능을 증가시킵니다. ..

[논문 읽기] Inception-v4(2016) 리뷰, Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

이번에 소개할 논문은 2017년에 나온 Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 입니다. 저자는 Szegedy 입니다. Inception-v1(GoogLeNet), Inception-v2, v3은 이미지 분류 대회에서 항상 좋은 성적을 거둬왔습니다. Inception 계열의 특징은 적은 파라미터수를 갖지만 모델이 다소 복잡합니다. 이 복잡성 때문에 VGGnet이 GoogLeNet보다 흔하게 사용되었죠. inceptio-v1에서 개선된 v4에는 어떤 점이 변화되었는지 살펴보겠습니다. 이 논문에서 Inception-v4와 Inception-ResNet을 소개합니다. Inception-v4는 Incepti..

반응형