What is softmax?Softmax layer란 classification이나 regression 등에서 마지막에 output layer에서 확률과 비슷한 성질을 가지게 처리해주는 부분Softmax layer에서 사용하는 함수를 Softmax function이라 하고, 추후 편의를 위해 output layer 직전까지의 결과를 x=[x1, x2, ⋯ , xn]T\mathbf{x}=[x_1,~x_2,~\cdots,~x_n]^Tx=[x1, x2, ⋯, xn]T, 즉 x∈Rn\mathbf{x}\in\R^nx∈Rn이라 하자.이때 softmax function f(x) : Rn→Rnf(\mathbf{x})\ :\ \R^n\rightarrow\R^nf(x) : Rn→Rn에 대해 다음과 같이 정의한..
Auto Encoder[출처]: https://gaussian37.github.io/dl-concept-autoencoder1/이제 주제를 틀어, 어떠한 Input이 들어왔을 때 그걸 더 낮은 dimension으로 어떻게 줄이는지에 대해 알아보자.이가 중요한 이유는, Convolution을 생각해보면 편하다.Convolution의 성능은 분류를 얼마나 잘하는가?이고, FC의 특성을 생각하면 결국 이는 최종 Feature vector을 얼마나 잘 나타냈는가?로 요약할 수 있다.즉, 큰 dimension의 vector를 low dimension으로 낮추면서 특징을 잘 가져가는 것은 아주 중요한 문제이다.이렇게 낮은 차원으로 줄인 벡터를 laten vector라고 하는데, 이 laten vector가 잘 나왔..
Visual attentionCNN + LSTM (VGG-16 or ResNet)VGG-16에서 CNN의 여러 Convolution과 Max Pooling을 거치고 나면, 결국 Feature Extraction을 하게 될 수 있을 정도의 size가 된다.이때 One dimensional vector로 바꾼 후에 Fully connected layer를 거치게 된 후, 분류를 할 때는 Softmax function 이후 classification을 하게 된다.Image Captioning을 하는 경우 softmax를 하지 않고 바로 Feature Extraction된 벡터를 LSTM에 투입한다.LSTM의 input으로 들어갈 때처음 Input이 계속 동일한 input으로 들어가게 되는 경우초기 input ..
BackgroundNeural Network를 구성할 때, 큰 문제점 중 하나는 “어떻게 weight들의 초기값을 정할 것인가?”이다.만약 전부 000으로 정하게 되면, gradient 값이 전부 000이 되기 때문에 큰 의미가 없어진다.같은 값으로 정하게 되면, gradient 값이 한 layer마다 전부 같은 값으로 되기 때문에 weight들이 update 되는 것에 많은 제한 사항이 생긴다.따라서 같은 값이나 전부 000으로 초기화하는 것은 나는 업데이트할 생각이 없소라고 말하는 것과 비슷하다.Method 1: Random Initialization가~장 간단한 방법으로는 모든 weight를 Random으로 정하는 것그 중에서도 Gaussian distribution을 사용했다고 하자.뭐 평균..
What is softmax?Softmax layer란 classification이나 regression 등에서 마지막에 output layer에서 확률과 비슷한 성질을 가지게 처리해주는 부분Softmax layer에서 사용하는 함수를 Softmax function이라 하고, 추후 편의를 위해 output layer 직전까지의 결과를 x=[x1, x2, ⋯ , xn]T\mathbf{x}=[x_1,~x_2,~\cdots,~x_n]^Tx=[x1, x2, ⋯, xn]T, 즉 x∈Rn\mathbf{x}\in\R^nx∈Rn이라 하자.이때 softmax function f(x) : Rn→Rnf(\mathbf{x})\ :\ \R^n\rightarrow\R^nf(x) : Rn→Rn에 대해 다음과 같이 정의한..
Cybenko TheoremNeural Network의 한계란 없다를 수학적으로 보여주는 정리아래에서 사용하는 모든 함수는 sigmoid function을 기반으로 함을 기억하자.구간 [0, 1]n\left[0,~1\right]^n[0, 1]n에서 countinuous한 임의의 함수 FFF와 양수 ε\varepsilonε에 대해 항상 F(x)F(x)F(x)와의 차이가 ε\varepsilonε보다 작은 neural network을 만들 수 있다.간단하게 말하면, 아무 연속함수를 들고와도 단 하나의 Hidden Layer만 있으면 얼마든지 근사할 수 있다라는 것이다.ε\varepsilonε이 굉장히 작으면 어떻게 그게 될지 의문이 들겠지만, 적분과 비슷한 테크닉을 기반으로 Hidden Layer의..
Motivation앞에서 MLP와 Forward Pass를 통해 예측값을 계산하였고, SGD를 통해 이 예측값을 통하여 어떻게 파라미터를 조정하였는지 배웠다.그러면, 언제 이 파라미터를 조정할 것인가? 또한, 어떻게 조정할 것인가?이에 대해 연산을 하는 것이 backpropagation이며, activation function으로 sigmoid나 ReLU와 같은 함수가 택된 이유에 대해 알아보자.Backpropagation한 Iteration이 끝날 때 예측 값과 실제 값의 차이를 합친 cost를 기반으로 가중치를 역으로 진행하면서 업데이트 하는 과정즉, Forward Pass에서는 Layer 1에서 끝(kkk)까지 진행하였다면 Backpropagation은 kkk에서 1로 진행한다고 생각하면 된다...
Motivation앞에서 어떻게 값을 계산하는지를 알아냈는데, 그러면 그 값을 어찌 활용해야하는 지에 대해서도 생각해볼 필요가 있음딥러닝은 결국 Data들에서 Feature들 간의 특징을 찾아 값을 내는 과정, 즉 이미 주어진 것들에 대해 정답을 비교하여 계산할 필요가 있음 ⇒ 정답과 나의 답을 검증하는 과정이 필요함이 정답과 나의 답의 차이를 Loss(Cost)라고 하고, 이것들을 이용하여 Weight들을 업데이트 하는 과정을 Backpropagation, 그리고 그 업데이트를 어떤 주기로 진행할 것인지가 Batch, Batch size에 따라 업데이트의 종류(Minibatch, SGD, Batch)로 나뉜다.CostNetwork와 Input, 그에 상응하는 Output이 주어지면 우리는 Estimat..
Motivation 이전의 Single Layer Perceptron 같은 경우 XOR Problem와 같은 Non-linear한 데이터들에 대해서는 유연하게 대처하지 못했다.즉, 이렇듯 2개의 결과를 내기 위해서는 한 개의 퍼셉트론이 아닌 여러 개의 퍼셉트론이 필요하다를 의미 ⇒ 그러면, 여러 개의 Input에 대해 여러 개의 node를 타는 것이 있으면 어떨까??Multi Layer Perceptron(MLP)위의 Motivation에도 말했지만, 한 개의 퍼셉트론으로는 많은 문제를 처리하기 힘듦.즉, 여러 개의 퍼셉트론을 활용할 이유가 있고, 이 때문에 Multi-Layer Perceptron이 고안됨MLP는 앞으로 진행되는 Feed-Forward artifical neural network이다.구..
Deep learning overall딥러닝은 1. 어떠한 Input을 받아서 2. 적절한 계산을 한 후 3. output을 내는 이 과정이 Recursive하게 반복되는 모양임을 알 수 있다.이를 약간 수학적으로 표현하면 Input과 Output 모두 Rn, Rm\mathbb{R}^n,~\R^mRn, Rm vector로 바꾸어 함수 f : Rn→Rmf\ :\ \R^n\rightarrow \R^mf : Rn→Rm을 거치게 되고, 이 함수에서 나온 결과를 next layer의 input으로 삼아서 계산을 하는 방식[출처]: https://velog.io/@tobe-honest/다층-퍼셉트론Multi-layer-Perceptron-MLP저 일련의 과정을 거치는 하나의 개체?를 Perceptron(Neur..
- Total
- Today
- Yesterday
- 선형대수학
- Machine Learning
- 해석학 Ch5
- 세그먼트 트리
- joi
- 수학
- 로피탈
- 17411
- icpc.me/17411
- LInear SVM
- Derivate
- Differentation
- 해석학II
- PMA 연습문제
- mathematics
- 백준 17411
- 백준
- 해석학
- 연습문제
- 미분
- JOI 2021
- Backprop
- Deep learning
- 해석학 Chapter 5
- Trace trick
- Trace tirck
- PMA Ch5
- 수(상)
- PMA
- cs231n assignment1
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |