분류 전체보기 130

대회 참가

이제 스터디하는 기간은 끝이났고 지금까지 공부했던 내용을 통해서 여러 공모전에 작품을 내는 기간이 다가왔습니다. 이번에 참여할 대회는 국립중앙과학관에서 진행되는 $AI \times ART$과 캐글에서 진행되는 "I’m Something of a Painter Myself" 입니다. https://www.aixart.co.kr/html/contest/contest.html 인공지능과 예술 특별전 AI를 통한 낯선 아름다움의 발견 www.aixart.co.kr https://www.kaggle.com/c/gan-getting-started I’m Something of a Painter Myself | Kaggle www.kaggle.com 꾸준히 포스팅을 못해서 생략된 내용이 많아 다음에 시간이 나면 다시..

10. Least Squares와 그 기하학적 의미

이번 강의에서는 방정식의 개수가 미지수의 개수보다 많은 경우에 해결하는 방법에 대해서 이야기해줍니다. 다음과 같이 x를 근사하여 b값 차이(Error)를 구한 다음에 이 값들을 제곱의 합으로 나타냅니다. 제곱의 합이 적을수록 더 좋은 근삿값이 됩니다. 이러한 과정을 요약하자면 $\hat {x} = arg \min \limits_{x} \| b - Ax \|$가 됩니다. 최적의 x값 $\hat {x}$은 $b - Ax$ 값을 최소화시켜주는 x라는 의미입니다. - L2 norm을 최소화해주는 값을 찾는다. 이렇게 근사하는 방법은 b가 A의 span에 포함되지 않을 때 b를 A의 span 평면에 orthogonal projection 한 값을 찾는 것입니다. - 이렇게 하면 A가 이루는 평면에서 b값과 가장 ..

4. Training Neural Networks part 1

Convolution Network을 학습할 때 ImageNet의 도움을 받을 수 있습니다. ImageNet의 가중치를 가져와서 우리 모델에 적용하는 것이 Transfer learning 입니다. (이후에 우리의 문제에 알맞게 fine tuning을 진행하면 됩니다.) 다음과 같이 fine tuning을 어느 정도할 것인지 정할 수 있습니다. - 만약 가지고 있는 데이터가 너무 적다면 나머지 부분은 고정시키고 classfier 부분만 훈련시킵니다. - 데이터가 어느 정도 있다면 ImageNet 가중치를 가져와 모델의 초기값으로 사용합니다. 이제 Nerual Netowrk에 역사에 대해 알아보겠습니다. Neural Netowrk의 발전 초기에는 단순한 연산만을 할 수 있는 perceptron 으로 시작합니..

cs231n 2021.11.04

[논문 리뷰] Distilling the Knowledge in a Neural Network (NIPS 2014 Workshop)

이 논문은 처음으로 knowledge distillation이라는 개념을 제시한 논문입니다. pruning과 비슷하게 이전에 있던 모델을 사용할 수 있다는 점에서 활용도가 높을 거 같아 관심을 가지게 됐습니다. 2021년 10월 25일 기준으로 7705회 인용됐습니다. 모델을 만들 때 성능을 쉽게 올리는 방법 중 하나는 Ensemble입니다. 각각의 모델들이 test error가 비슷하다고 하더라도 ensemble 한 결과는 더 낮은 test error를 보여줍니다. 하지만 ensemble 모델을 사용하기에는 너무 많은 컴퓨터 비용이 필요하기 때문에 일반적인 상황에서는 사용하기가 쉽지 않습니다. 그래서 본 논문에서는 ensemble을 통해 얻을 수 있는 generalization 능력을 더 작은 규모의 ..

[논문 리뷰] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Cycle GAN의 가장 큰 특징은 unpaired data set으로도 학습이 가능한 image - to - image translation 메서드를 제안한다는 것입니다. 위 사진과 같이 Cycle GAN은 다음과 같은 작업이 가능합니다. 모네가 그린 듯한 그림을 실제 사진으로 바꾸거나 실제 자연을 다시 모네의 화풍으로 변경 얼룩말을 말로 바꾸거나 말을 얼룩말로 바꾸는 작업이 가능 겨울 사진을 여름 사진으로 또는 여름 사진을 겨울 사진으로 이러한 Task를 CycleGAN으로 해결할 수 있습니다. 그리고 각 Task 마다 별도의 Loss 함수나 특별한 아키텍처 없이 좋은 성능을 보입니다. Motivation 이전에 제안된 pix2pix의 경우 사람을 속일 수 있을 정도로 정교한 가짜 이미지를 만들 수 ..

9. Least Squares Problem 소개

- 본 내용은 edwith의 인공지능을 위한 선형대수 강의를 통해 작성되었습니다. 이번 학습의 목표는 Least Squares Ploblem에 대한 개념을 이해하는 것 입입니다. 벡터와 관련된 이 개념들은 선형대수에서 중요한 개념이니 알아두면 좋습니다. 핵심 키워드 내적(Inner Product, Dot Product) 벡터의 길이(Vector Norm) 단위벡터(Unit Vector) 직교벡터(Orthogonal Vectors) Leaset Squares = 선형 방정식을 다루는 상황에서 방정식의 개수가 미지수의 개수보다 많은 상황일 때를 말합니다. - feature의 개수보다 데이터 개수가 더 많을 때 방정식이 3개이고 미지수가 3개인 이 상태에서 데이터를 더 수집한다면 방정식의 개수가 늘어나게 됩니..

8. ONTO and ONE - TO - ONE

전사함수와 일대일 함수 (ONTO and ONE - TO - ONE) ONTO ONTO는 공역(입력) = 치역(출력이 될 수 있는 애들)일 때 이 경우를 ONTO라고 부릅니다. 공역과 치역이 같을 때! 공역과 치역이 같을 때 필요한 최소한의 조건은 정의역이 치역 이상이어야 합니다. 즉 치역의 모든 원소를 한번 이상의 매핑이 필요합니다. 1. $R^3 \rightarrow R^2$ 2. $R^2 \rightarrow R^3$ 2번째의 경우에는 절대 전사함수가 될 수 없습니다. 위에서 말한 최소한의 조건을 만족시키지 못했기 때문입니다. - 입력 Dimention이 출력 Dimention보다 작으면 안 됩니다. $T ( \left [ \begin{matrix} 1 \\ 0 \end{matrix} \right]..

7. 선형변환 with Neural Networks

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. 선형변환은 신경망에서 가장 기초적인 형태입니다. 선형변환에서 일어나는 일은 결과에 따라 Standard vector값이 바뀌면서 좌표도 바뀌게 됩니다. $[1, 0], [0, 1]$이였던 벡터가 선형변환을 통해서 $[2, 3]$과 같은 형태로 바뀌고 그에 따라 좌표도 변경된 것입니다. - 선형변환을 기하학적으로 표현한 것! 이 사진에서는 56, 231, 24, 2 값을 가지는 이미지가 벡터화가 돼서 입력층으로 들어갑니다. 이 구조가 이전 게시물에서 말했던 fully connected layer의 모습입니다. 옆에 $(3 \times 4)$ 행렬과 $(4 \times 1)$ 벡터가 있는데 여기서 행렬은 3차원으로 shape..

3. Backpropagation and Neural Networks part 1

Backpropagation을 한 번에 계산하는 것은 불가능한 일입니다. 모델들이 너무 거대해서 계산 수가 너무 많기 때문입니다. 그래서 각 모델의 모듈별로 계산을 해줘야 합니다. 다음과 같은 방법으로 기울기를 구합니다. 정방향 진행 순전파는 fp, forward pass라고 하고 역방향 진행 역전파는 bp, backward pass라고 합니다. 그래서 bp를 구할 때는 출력단에서부터 내려오면 됩니다. $\frac {df} {df}$ : indentity function으로 자기 자신을 나누니 1이 나오게 됩니다. 이후에 $\frac {df} {dz}$를 구하고 $\frac {df} {dq}$를 구한 다음 체인 룰을 사용해서 구하면 됩니다. $\frac {df} {dy} = \frac {df} {dq} ..

cs231n 2021.10.12

6. 선형변환(Linear transformation)

- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다. 함수의 입력으로 쓰이는 모든 집합은 정의역(domain), 함수의 출력값으로 쓰이는 모든 output의 집합은 공역(co-domain), 입력에 대한 출력값은 image라고 합니다. range는 치역으로 실제로 사용된 공역입니다. ex) $2x$라는 함수가 있을 때 $x = 1$의 image는 2 선형변환의 조건 $T(cu + dv) = cT(u) + dT(v)$을 만족할 때 ($u, v$는 벡터입니다.) $3x$와 같은 단순 상수배이면 선형변환이 됩니다. $y = 3x + 2$와 같이 bias가 포함되면 선형변환이 아닙니다. 위 조건을 만족시키지 않기 때문입니다. 하지만 이러한 경우도 수정을 해주면 선형변환이라고 할 수..

반응형