전체 글 310

[Linear Algebra] 선형 결합

edwith 주재걸교수님의 강의자료를 참고했다. 선형 결합은 어떤 것일까? Linear Combination은 각각의 vector ( v1,v2,...,vpRn )가 주어지고, scalar ( c1,c2,...,cp ) 가 주어졌을 때 c1v1+c2v2+...+cpvp 형태를 vector와 weight 혹은 coefficient 간의 Linear Combination 혹은 선형 결합이라고 부른다. 선형 결합에서의 weight는 실수들만을 다루게 되고 당연히 0도 포함할 수 있다. 만약 기존 vector가 3차원이라면 선형 결합을 한 vector 역시 3차원으로 반환된다. 이전에 다루었..

[Linear Algebra] 선형방정식과 선형시스템

edwith 주재걸 교수님 강의 자료를 참고하였습니다. Linear Equation 선형 방정식은 우리에게 주어진 x1,x2,...xn의 변수들이 주어지고 그 변수들의 계수와 결합하여 어떠한 상수를 나타내는 식이다. a1x1+a2x2+...+anxn=b b는 상수고, x에 곱해진 값들을 계수, coefficient라고 한다. 위 방정식을 선형대수의 관점으로 본다면 inner-product로 본다면 row vector와 column vector의 형태로 나타낼 수 있게 된다. aTx=b Linear System : Set of Equations 연립 방정식을 의미한다. feature 들과 feature에 해당하는..

[Linear Algebra] 선형대수의 기초

edwith 주재걸 교수님 강의 자료를 참고하였습니다. 선형대수에서 사용하는 용어는 여기를 참고하면 된다. scalar는 말그대로 하나의 숫자의 형태를 말한다. Vector의 경우는 order가 정해져 있는 array라고 바라본다. order가 정해져있지 않는 array는 set이라고 한다. order가 정해져 있다는 말은 아래의 예시를 볼 때 첫번째 차원의 값이 1 두 번째 차원의 값이 0 이런 식으로 order가 주어져 있다고 말한다. vector라는 것은 한 방향으로만 존재하는 배열이다. 그 경우 column vector와 row vector가 존재한다. matrix의 경우 가로 세로 형태로 값이 존재하고, 가로를 row, 세로를 column이라고 얘기한다. defualt로는 column vecto..

[CS231N] CNN 기반 모델의 종류(LeNet, AlexNet, ZFNet, VVGNet, GoogleNet, ResNet, DenseNet)

Contents ImageNet에서 유명한 CNN model 을 설명하는 파트다. LeNet - 5 LeNet - 5 는 LeNet 모델 중 가장 최근 모델이며 Yann LeCun 연구실에서 1990년대에 만들어졌다. 우편번호나 숫자를 인식하는데 활용되었다. LeNet구조가 지금의 CNN과 큰 다른점이 없다는 것이 핵심이다. Convolution과 subsampling이 쓰이고 feature map을 일자로 펼치는 fully-connection으로 연결을 했다. AlexNet AlexNet은 ILSVRC 2012 에서 우승한 모델이고, 이 때 당시 AlexNet 모델에 인해 딥러닝에 혁명이 일었다고 볼 수 있다. 왜냐하면 AlexNet이 CNN 구조로 과거의 top 5 error를 크게 줄였기 때문이다...

[CS231N] Stride, Padding, Pooling layer 란?

Contents CNN은 여러개의 layer들이 차곡차곡 쌓여있는 구조다. 여러 layer들 중에서 Convolution layer에 대해서 먼저 알아보자. Convolution layer 32(width)x32(height)x3(depth) image를 가진다. 아래 그림에서 보이는 filter는 parameter를 의미한다고 생각하면 된다. 즉 weight를 나타낸다. depth는 내가 받는 input과 동일해야한다. 동일해야만 filter가 image를 convolve할 수 있다. convolve하는 과정에서 하나의 scalar 값으로 mapping을 한다. 어떠한 image를 convolve하게 되면 똑같이 tensor형태가 나오게 되고, 선형 연산을 통해 나온 scalar 에 activation..

[CS231N] Convolution Neural Networks(CNN)

왜 image Neural Networks를 CNN으로 다루어야할까? CNN를 써야하는지에 대해서 살펴보기 전에 기존의 ANN가 image data에 적용할 때 어떠한 문제점이 있었는지에 대해서 먼저 알아보자. 아래의 이미지는 112 X 150 을 가지고 RGB 채널에서 3개의 채널을 가지고 있다. ( 112 X 150 X 3 ) 이런 image를 python이나 R에서 다룰려면 (112, 115, 3) 형태의 tensor를 다루게 된다. tensor를 ANN에 적용하려면 tensor를 vector의 형태로 flatten해주어야 되는 과정이 필요하다.( ANN은 tensor를 input 으로 받지 않기 때문에 ) 그런데 image를 보면 image내에서 지엽적인 부분이 분명히 있을 수 있다. 그 부분을 ..

[Recommender System] Emplicit data와 Implicit data란?

추천시스템의 최종 목적은 기존 고객 혹은 유입된 신규 고객에 대해 item을 추천해주는 것이라고 할 수 있다. 고객들에게 상품을 추천해주려면 어떻게 해야할까? 첫 번째로는 고객들이 직접 입력한 데이터( e.g. Rating, Review, Vote, ...)를 가지고 추천을 해줄 수 있다. 두 번째로는 고객들이 Click하거나 구매하거나 하는 등에 해당하는 자료를 기반으로 추천해줄 수 있을 것이다. 첫 번째 경우를 우리는 Explicit(명시적)이라 지칭하고, 두 번째 경우를 Implicit(암묵적, 내재적) 이라 지칭한다. Explicit 명시적인 데이터는 어떻게 수집할 수 있을까? 명시적인 선호도를 얻기 위해서 가장 간단한 방법은 직접 고객에게 물어보는 것이다. 별점 선호도 : 가장 많이 쓰이는 방법..

[Bayesian] Bayesian Deep Learning - Functional analysis

본 자료는 edwith 최성준님이 강의하신 Bayesian Deep Learning 강의를 참고하였다. 핵심 키워드 Hilbert space, inner product space, Kernel, Eigenfunction, Eigenvalue, Positive semidefinite, Reproducting kernel Hilbert space 우리가 실수를 계산할 때 어떻게 하는가? 1 + 1 = 2, 2 + 3 = 5 이렇게 된다. 1 + 1 = 2 인건 axiom의 연속들로 이루어져 우리가 1+1 = 2 라는 것을 알게 된다. 우리가 만약 강아지 + 강아지 = 고양이 로 부르기로 약속하고, 그 약속을 지키는 공간을 만들면 그 공간 내에서도 덧셈, 뺄셈, 곱셈 등 연산이 작용할 수 있다. vector ..

[CS231N] Optimization의 종류 - SGD부터 Adam까지

Contents Mini-batch SGD 1. Sample a batch of data 2. Forward prop it through the graph, get loss 3. Backprop to calculate the gradients 4. Update the parameters using the gradient 이런 경우에는 몇천만개의 데이터들을 learning rate(η) 하나로 고정을 시키고 최적화를 시키는 것이 과연 좋은 것인가? 라는 물음을 할 수 있다. 아래와 같은 SGD의 약점은 시작을 해서 flatten 지점에서 넘어가지 못하고 local minimum에 빠져버린다. Momentum GD와 Momentum의 다른점은 어떤 것인가? gradient descent의 경우 $ ..

[Bayesian] Bayesian Deep Learning - Random Process

본 자료는 edwith 최성준님이 강의하신 Bayesian Deep Learning 강의를 참고하였다. 핵심 키워드 Random process, Realization ,(Brownian motion), Mean, Covariance, Kernel function, Stationariy Random Process random process는 random variable의 확장판이라고 생각하면 된다. random variable 에서 sampling을 할 때 가우시안 분포에서는 하나 씩 도출되지만 멀티 가우시안, GAN에서 사용하는 여러 차원의 가우시안, 무한차원의 가우시안 분포를 정의하기 위해 random process를 사용한다. random process를 함수들의 공간..

[Bayesian] Bayesian Deep Learning - Random variable

본 자료는 edwith 최성준님이 강의하신 Bayesian Deep Learning 강의를 참고하였다. 핵심키워드 Random Variable, Probability space, Probability density function, Correlation analysis Random Variable - random variable: 우리에게 관측되는 실수로 가는 어떤 함수가 random variable 이다 . subset이 아니라 하나의 원소 probability space : (Ω,A,P) , Borel measurable space (R,B) 실수들로 이루어진 σ-field를 Borel meas..

[CS231N] 활성화 함수(Activation Fucntion)의 종류

Training Neural Network Transfer learning을 진행할 때 고려할 점. 1) Pre-train data와의 이질성 2) Finetuning할 데이터의 양 3) 분석에 할당된 시간 4) 가용한 hardware ... 하나의 layer에서 activation function으로 들어가게 되는데 layer의 값은 Σwixi+b로 선형조합으로 나타낼 수 있다. 그 선형조합을 비선형조합의 activation function으로 넣게 된다. 만약 activation function 자체가 linear라고 생각해보면 layer를 stacking 하는 것 자체가 의미가 없어진다. 왜냐하면 linear function을 activate function으로 사용하게..

[Optimization] Gradient Descent

경사법 ( 경사 하강법 ) 신경망에서 최적의 매개변수를 학습 시에 찾아야 한다. 최적이란 손실 함수가 최솟값이 될 때의 매개변수 값이다. 하지만 매개변수의 공간이 광대하여 최솟값을 찾는데에 있어 어려움이 있기 때문에 경사하강법을 사용하여 최솟값을 찾으려고 한다. 하지만 그 기울기가 가리키는 곳에 정말 함수의 최솟값이 있는지 보장할 수 없다(안장점). 실제로 복잡한 함수에서는 기울기가 가리키는 방향에 최솟값이 없는 경우가 대부분이다. 경사법은 현 위치에서 기울어진 방향으로 일정 거리만큼 이동하는 것을 말한다. 그런 다음 이동한 곳에서 다시 기울기를 구하고, 또 기울어진 방향으로 나아가기를 반복한다. 이 방법은 특히 신경망 학습에 많이 사용된다. $x_{0} = x_{0} - \eta {\partial f ..

[Bayesian] Bayesian Deep Learning - Probability

본 자료는 edwith 최성준님이 강의하신 Bayesian Deep Learning 강의를 참고하였다. 핵심 키워드 Probability, Sample space, Random experiment, Probability mass function, BayesTheorem, Expectation Probability 공정한 주사위 게임을 예로 들어보자. σ-field 는 power set이 될 것이고, subset은 A가 될 것이다. 여기서 주사위가 1이 나올 확률은 얼마인지 정의할 수 있어야 하고, 1이 나오거나 6이 나올 확률, 주사위가 1~5 사이에 하나가 나올 확률이 얼마인가에 대해서 정의할 수 있어야한다. 모든 가능한 조합을 표현할 수 있어야 하기 때..

반응형