분류 전체보기 130

5. 부분공간의 기저와 차원 (Span and Subspace)

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. subspace는 부분공간, 부분집합으로 생각하시면 됩니다. span과 유사한 개념입니다. $R^3$같은 3차원 실수 공간은 3차원 벡터를 전부 모아둔 곳이고 이곳의 일부 벡터를 가지고 있는 것들이 부분 집합, subsapce입니다. supspace의 요소로 basis가 나옵니다. subspace를 전부 표현할 수 있는 벡터들을 basis라고 부릅니다. 즉 subspace의 재료벡터이면서 선형결합으로 subspace의 모든 벡터를 표현할 수 있다는 의미입니다. 하지만 선택된 재료벡터는 선형독립이여야 합니다. Find a basis 기저벡터(basis)는 unique하지 않기 때문에 한 subspace에 여러 개가 존재합니..

2. Loss function and Optimization

score에 대한 부족한 부분을 가시화시켜주는 Loss function과 Loss function을 minimize 된 parameter를 찾아주는 Optimizer에 대해 알아보겠습니다. Loss function 중 SVM을 활용한 Hinge loss와 Softmax를 사용한 Cross entropy에 대해 알아보겠습니다. SVM - Hinge loss score가 $s = f(x, W)$라고 할 때 Loss 값은 파란색 네모와 같습니다. 0과 오른쪽 항 중에서 큰 것을 취하는 형식으로 Loss 값이 구해집니다. 여기서 $s_j$는 잘못된 label의 score $s_{y_i}$는 제대로 된 label의 score입니다. 여기서 1을 더해주는 데 이 값은 safety margin입니다. 고양이의 $s_..

cs231n 2021.10.11

4. 선형독립과 선형종속

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. 이번 강의에서는 선형종속(Linear dependence), 선형독립(Linear independence), 부분공간(subspace)를 배웁니다. 선형독립은 우리가 벡터 방정식으로 가능한 모든 조합(span)안에 상수벡터(target vector)가 들어가 있고 없고에 따라서 이 해가 특별한 해인지 아니면 수없이 많은지를 알게 해 준다고 했습니다. 해를 찾는 과정은 주어진 상수벡터에 가장 가깝거나 일치하는 벡터를 만들기 위해서 scale factor을 조절하는 것입니다. 여기서 해가 무수히 많이 존재한다는 것은 정답에 일치하는 벡터의 조합이 무수히 많은 것입니다. 이때를 선형종속이라고 합니다. 이러한 경우는 같은 차원의..

[논문 리뷰] GhostNet: More Features from Cheap Operations, CVPR 2020

저번에 발표된 논문은 GhostNet: More Features from Cheap Operations, CVPR 2020 입니다. 이 논문에서는 Feature Map 중복(Redundancy)에 대해서 조금 더 간단하게 만들기 위한 방법을 제안합니다. 중복된 피쳐들은 성공적인 딥러닝 모델의 특징입니다. Ghost Feature(중복 피쳐)를 Linear transformation을 통해서 만드는 방법을 사용하여 생성하게 되는데 이 방법은 기존 방법(Convolution)에 비해 연산량이 적습니다. Ghost Feature은 유사한 두 이미지가 유령사진처럼 보인다고 해서 Ghost라고 부릅니다. 이런 이미지들을 비용이 비싼 Convolution 연산으로 구하는 것이 아니라 Linear Transfer을 ..

3. 선형 결합(Linear Combinations)

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. 선형 결합은 $R^n$ 차원상의 벡터들에 상수 배를 곱해서 전부 더한 것입니다. 선형 결합이 나온 이유는 우리가 푸는 딥러닝 문제들도 입력 데이터에 상수 배(파라미터)를 곱하는 형태이기 때문입니다. 예제를 coulmn vector로 보면 $R^3$에 속하는 선형 결합으로 볼 수 있습니다. 그러면 다음과 같이 방정식 형태로 나오게 되는데 이것을 벡터 방정식이라고 합니다. Span 어떤 벡터들의 모든 선형 결합의 결과물을 모은 것이 Span입니다. 유한한 재료 벡터들을 가지고 만들 수 있는 모든 선형 벡터의 집합입니다. span은 하나의 실수 공간을 만들 수 있습니다. 연립 방정식이 아닌 벡터 방정식을 통해서 문제에 접근해보..

[논문 리뷰]AdderNet: Do We Really Need Multiplications in Deep Learning?, CVPR 2020

이번에 스터디에서 발표된 논문은 AdderNetwork입니다. 이 논문을 읽으면서 의문점이 많이 들어서 따로 자료들을 더 찾아봐야겠습니다. Conv Layer에서 기존에 사용하는 multiplications 연산은 상당한 량의 GPU 메모리와 전력을 소비합니다. 이 때문에 다른 휴대용 기기에 사용하기가 어려워 MobileNet과 같이 경량화된 모델이 제안됐지만 여전히 많은 연산량이 필요합니다. 본 논문에서는 Adder을 활용하여 연산량을 줄이는 방법을 사용합니다. 기존에는 BNN 등 다양한 이진화 과정을 거쳐 경량화했지만 이 방법은 학습 속도 저하와 성능 손실이 발생하는 문제들이 있었습니다. 제시된 방법은 다음과 같습니다. 1. Convolution 연산은 filter와 입력의 유사도를 측정하는 방법으로..

[논문 리뷰] 경량화 기술 동향

- 경량화 기술 동향: https://ettrends.etri.re.kr/ettrends/176/0905176005/34-2_40-50.pdf 최근 들어 여러 분야에서 딥러닝 모델이 만들어졌지만 경량 디바이스, 모바일 디바이스 등과 같은 컴퓨터 자원이 부족한 기기들에서는 직접 학습이나 추론을 진행하기에는 아직 부족한 점이 많습니다. 그래서 현재 경량 딥러닝 연구가 활발하게 진행 중입니다. 경량화를 통한 이점은 크게 본다면 다음과 같습니다. 1. 지연시간 감소 2. 민감한 개인 정보 보호 (?) 3. 네트워크 트래픽 감소 등 경량화 연구에는 알고리즘 자체를 적은 연산과 효율적인 구조로 설계하는 경량 딥러닝 연구와 만들어진 모델의 파라미터들을 줄여주는 모델 압축 등의 기법이 적용된 알고리즘 경량화 기술이 존..

1. Image classification

Image classification image classification은 컴퓨터 비전의 핵심적인 작업 중 하나입니다. image classification이 가능하면 Detction, Segmentation, Image captioning 같은 작업들은 수월하게 진행할 수 있다고 합니다. 이미지를 분류하는데 있어서 문제점이 하나 있는데 바로 컴퓨터가 이미지를 볼때 3차원 배열의 값으로 인식하면서 생기는 semantic gap 문제입니다. Viewpoint variation: 보이는 각도에 따라 달라질 수 있는 문제 Illumination: 조명에 따라 픽셀 값의 변형 Deformation: 객체의 형태가 변형될 때 Occlusion: 객체가 숨어있어 일부분의 특징만 보일 Background clutt..

cs231n 2021.09.19

2. 선형방정식과 선형시스템

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. Linear Equation(선형 방정식) $a_1x_1 + a_2x_2 + ... + a_nx_n $ 선형대수에서는 방정식을 한번에 생각할 수 있습니다. $[a_1, a_2 ... a_3]$ 일반적으로 Scalar를 표현할 때는 x 벡터를 표현할 땐 $x$ (굵게 씁니다.) Matrix를 표현할 땐 대문자로 $X$ Linear System: Set of Equations(방정식) Linear System은 선형 방정식(Linear Equations)의 집합! 연립 방정식을 의미합니다. 머신러닝에서도 data, feature의 target label들을 연립 방정식으로 푸는 것과 유사하게 계산합니다. (target lab..

[5주차] NIPS 2016 Tutorial: Generative Adversarial Networks: Ian Goodfellow part 2

본 내용은 NIPS 2016 Tutorial: Generative Adversarial Networks: Ian Goodfellow 17~33P까지의 내용입니다. How do GANs work? The GAN framework GAN은 두가지 network로 구성됩니다. (generator, dicriminator) 두 명의 플레이어가 서로 게임을 하는 방식과 비슷합니다. Generator: noise벡터(gaussian)를 입력하여 output으로 이미지를 생성, 생성된 이미지는 fake 이미지입니다. Discrminator : 판별자는 generator가 생성한 이미지를 입력받아 해당 이미지가 fake 인지 real인지 판단합니다. 아래 그림에서 Dicriminator가 판별한 결과가 1이면 real..

반응형